数据库测试

Posted 凯哥学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库测试相关的知识,希望对你有一定的参考价值。

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

代码示例:

技术分享

测试类代码示例:

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

技术分享

技术分享

技术分享

技术分享

测试结果:

技术分享

测量测试覆盖率:

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

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

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

技术分享

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

技术分享

测试成功:

技术分享

生成的html文件在这里:

技术分享

右键使用web方式打开:

技术分享

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

技术分享

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

代码习惯:

技术分享

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

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

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

测试总结:

技术分享

以上是关于数据库测试的主要内容,如果未能解决你的问题,请参考以下文章

数据库测试

测试题 |测试数据库测试题

数据库基础单元测试策略:在单元测试和测试数据之间截断表

测试随笔

软件测试面试宝典「Linux 数据库 测试工具 自动化 性能测试」

复制生产数据以测试数据库以进行 PHPUnit 测试的有效方法