为什么需要单元测试?
从产品角度而言,常规的功能测试、系统测试都是站在产品局部或全局功能进行测试,能够很好地与用户的需要相结合,但是缺乏了对产品研发细节(特别是代码细节的理解)。
从测试人员角度而言,功能测试和系统测试以及其他性能测试等等对测试人员的全局特性理解能力要求较高,只要测试人员能够掌握一两种自动化测试框架基本能够开展功能、性能自动化测试,但是借助于测试框架进行研发降低了测试人员对代码的掌握、理解要求。
从开发人员角度而言,用户需求往往并不是具体的、全面的,因此基于用户需求转换成开发文档或着针对某个功能编写开发代码往往也存在着局限性(也即我们常说的bug)。
因此,编写单元测试可以帮助测试人员更好地理解代码细节、提高代码开发能力,也能帮助开发人员提前辨识代码中可能存在的bug,提高代码的容错能力。
如何制定单元测试报告
良好的单元测试报告能够帮助测试人员更好地分析、挖掘潜藏的问题。那么,如何制定单元测试报告呢,从哪些维度出发呢?在这里我们主要从测试人员角度出发来思考这个问题。
首先,我们需要报告中能够呈现我们的测试用例数量和测试结果(pass或者fail),以及错误细节。
其次,从单元测试本身特点出发,我们需要报告中能够呈现出针对单元代码分支、单元方法等的覆盖率,更好地帮助我们梳理和测试用例设计的优良。
在此,我们使用surefire-report统计测试用例数量和测试结果,使用jacoco统计单元测覆盖率(注:本文默认测试用例的执行方式是mvn test)。
1.如何配置 surefire-report 和 jacoco ·surefire-report 配置
配置方法:配置 maven-surefire-plugin 插件,maven-surefire-plugin 是 maven 默认的 test
执行器,配置方法如下图所示:
上图中 testfailureignore 表示忽略单元测试中的错误继续构建,
执行方法:使用 mvn test surefire-report:report 即可,会生成在
/target/site/surefire-report.html 测试报告文档。如下图所示:tests 显示总用例数;errors 指的是程序没有考虑到的情况,例如异常未能捕捉;failure 指的是预期的结果与实际运行单元的结果不同所导致,常出现在断言处;skipped 表示跳过的测试用例数;success rate表示用例成功率(=成功用例数/总用例数);time 显示总耗时。package list 显示详细的package 下用例执行结果。
·jacoco 配置
配置方法:配置 jacoco-maven-plugin 插件,配置方法如下图所示,phase 表示插件运行的生命周期阶段。
执行方法:mvn test 执行即可。会在/target/site/jacoco/目录下生成总的覆盖率报告index.html 和不同 package 的单元测试覆盖率报告../xxx/index.html。此外还有 csv 和 xml格式的单元测试覆盖率报告。
如上图所示为某个 package 的单元测试覆盖率报告。红色进度条表未覆盖,绿色进度条表示已覆盖,cov 为总体覆盖率。missed instructions 表示代码覆盖率,missed branches表示逻辑分支覆盖率,missed cxty 表示判断执行数,missed lines 表示代码行数,methods表示方法个数。
……
由于作者凯发k8国际手机app下载的版权要求,仅展示文章的一部分,如需阅读完整版文章,可以私信我的知乎,回复”文章“即可获取。
同类热门推荐 接口自动化测试框架:pytest allure excel 99366人看过 马来西亚sirim认证 42838人看过 测试平台系列(47) 编写测试报告之构建记录 65785人看过 关于 pytest 生成测试报告的功能 39908人看过 想要备考贝赛思,先看懂这份map成绩单再说! 64822人看过 本站只为传播信息,不对所发布的内容本身负责。如有凯发k8国际手机app下载的版权及其它问题,请联系站长处理。- 上一篇:
- 下一篇:
猜你喜欢
- 2023-03-21免费咨询发型造型师「如何成为一名造型师」
- 2023-03-21美妆工作室「如何自己干个人美妆工作室」
- 2023-03-21一侧编发到耳后教程「如何把一侧头发固定在耳后」
- 2023-03-21化妆品佳收纳方法「化妆品太多如何收纳」
- 2023-03-21化妆基础知识实验报告「化妆小知识」
- 2023-03-21学化妆怎么聊天-学化妆如何
-
生活百科网创立与2018年,一直不断致力于免费提供生活,经济,健康,母婴等各类百科知识,帮助解答了5w多人,今后我们仍将一如既往的增加百科内容!
- 常见生活百科知识汇总
- 最近发表
- 标签列表