数据库测试

数据库测试: 之前写的数据库测试代码稍微有点繁杂,现在我们将这些代码进行简化一下,将备份、还原数据的方法单独写在一个类里,然后测试类继承于这个类。

代码示例:

测试类代码示例:

测试类的代码稍微更改了一下,让测试的覆盖率提高

测试结果:

测量测试覆盖率:

测量测试覆盖率就是测量测试代码运行了多少个测试分支,如果测试代码的全部分支都被运行了,那么测试覆盖率就是100%。

打个比方就是一个猎人挖了100个不同的陷阱,猎人需要一个个的去触碰这些陷阱以确保陷阱没有问【学Java,到凯哥学堂kaige123.com】题能够捕捉到猎物,这个阶段就是测试环节。而最终猎人总共触碰了多少个陷阱,这就是测试覆盖率,猎人把所有的陷阱都触碰过了并且陷阱都没有问题的话,那么测试覆盖率就是100。如果猎人只触碰了80个陷阱,那么测试覆盖率就是80%。

如何进行测量测试覆盖呢?我们需要用到一个插件叫做cobertura,这个插件能够很好的帮助我们测量测试覆盖率,这个插件需要插入Maven的生命周期中,在执行Maven测试的时候能够运行这个插件。测试成功后这个插件会生成html文件,从这些文件中可以查看代码的测试覆盖率。 配置语法:

执行Maven测试,正在下载插件:

测试成功:

生成的html文件在这里:

右键使用web方式打开:

点击All,在这里可以查看类和包的测试覆盖率:

虽然这是个很不错的插件,但是使用的人不多,如果遇上需要测量测试覆盖率的业务,这个插件能帮很大忙。

代码习惯:

?一般大部分情况下,进行项目的开发,都是先从功能实现的角度进行构思,先分析业务需求、绘制项目模型,然后一步步得编写实现代码,在最后项目代码开发完成后再进行相应的测试,这是普遍的项目开发习惯。

?在此外还有一种开发方式是:先分析这个项目可能会出现的错误、bug,从而有针对性的去编写测试用例,然后再根据测试用例去编写实现代码,这种方式用得好的话可以事先避免很多代码可能出现的错误,有点逆向思维的味道。

?除了以上两种方式之外,还有一种合作式的开发方式:一个人单独编写测试用例,分析实现代码可能出现的错误,另一个人同时分析项目业务需求和功能实现,然后再根据写好的测试用【学Java,到凯哥学堂kaige123.com】例编写实现代码。这种方式使用得当开发效率会比前两个方法要高,这种方式有点像是前两个方法的结合体。

测试总结:

时间: 2024-10-24 16:17:43

数据库测试的相关文章

软件测试中的数据库测试

数据库中数据的基本结构 定义一:数据元素集合(也可称数据对象)中各元素的关系. 定义二:相互之间存在特定关系的数据元素集合. 一个表(数据库),我们就称它为一个数据结构,它由很多记录(数据元素)组成,每个元素又包括很多 字段(数据项)组成数据库测试分类系统测试.集成测试.单元测试.功能测试.性能测试.安全测试系统测试.数据库在初期设计中需要进行分析测试. 对于各种数据元素进行完美融合,并理清相互之间的关系便是数据库结构的基本定义. 在数据库中,不同数据之间会存在既定的特殊关系,其属于各种数据元素

DBUnit数据库测试

DBUnit数据库测试: DBUnit是一个基于junit扩展的数据库测试框架.它提供了大量的类对与数据库相关的操作进行了抽象和封装.它通过使用用户自定义的数据集以及相关操作使数据库处于一种可知的状态,从而使得测试自动化.可重复和相对独立.虽然不用dbunit也可以达到这种目的,但是我们必须为此付出代价(编写大量代码,测试及维护),既然有了这么优秀的开源框架,我们又何必再造轮子. 普通的测试数据库的方法不仅较为麻烦,而且在对数据库测试完后会残留数据[学Java,到凯哥学堂kaige123.com

数据库测试DbUnit

DBUnit 的设计理念就是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,最后,在测试完毕后,读入备份数据库,回溯到测试前的状态: 摘自:DbUnit入门实战 DBUnit官网:http://www.dbunit.org/   另外<spring3.x企业应用开发实战>http://pan.baidu.com/s/1eQ7sXoe 密码:yqly    中使用了Unitils Unitils构建在DBUnit与EasyMock项目之上并与JUnit和TestNG相结合.支持数

pxc 数据库测试环境

1.pxc 数据库测试环境:192.168.1.221(主)192.168.1.223(pxc数据库)192.168.1.224(pxc数据库) 修改系统时间• 添加 aliyun yum 源: #cd /etc/yum.repos.d/ # wget http://mirrors.aliyun.com/repo/Centos-6.repo# cp -a Centos-6.repo CentOS-Base.repo 添加aliyun epel yum 源:#wget http://mirrors

Visual Studio 单元测试之五---数据库测试

原文:Visual Studio 单元测试之五---数据库测试 数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visual Studio 2008 不支持数据库测试): 类型 说明 Data Checksum 对数据进行Checksum检验 Empty ResultSet 测试执行的SQL语句返回结果集是否为空 Execution Time 测试执行时间 Expected Schema 测试结果集中的列和数据类型是

Oracle数据库测试和优化最佳实践: OTest介绍 (转)

当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王文杰在业余时间开发,并提供支持.发送邮件到[email protected]可以获得支持和最新版本,以及申请cloud版本的key. *Otest 的临时下载地址(版本更新快,新项目上线,最好发邮件申请): 链接:http://pan.baidu.com/s/1eSD1oSq 密码:3ulm

(转)学习使用Jmeter做压力测试(三)--数据库测试

数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测试.本文描述使用JMeter进行数据库测试的过程.创建测试计划,模拟 并发用户发送SQL请求到数据库.测试数据库. 性能测试的目标是找到系统的性能瓶颈.本文将通过构造测试场景,完成对数据库的测试. 场景: 1.单用户: a.SQL语句优化:    b.数据库约束检查:   c.分页查询

【转】学习使用Jmeter做压力测试(三)--数据库测试

JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测试.本文描述使用JMeter进行数据库测试的过程.创建测试计划,模拟并发用户发送SQL请求到数据库.测试数据库. 性能测试的目标是找到系统的性能瓶颈.本文将通过构造测试场景,完成对数据库的测试. 场景: 1.单用户: a.SQL语句优化:    b.数据库约束检查:   c.分页查询: 2.并发用户

python中的单元测试和数据库测试

登录测试被测试的代码逻辑 @app.route('/login', methods=['POST']) def login(): username = request.form.get('username') password = request.form.get('password') # 判断参数是否为空 if not all([username, password]): result = { "errcode": -2, "errmsg": "par