您现在的位置是:亿华云 > 人工智能
测试员进阶技能:如何有效地利用单元测试报告?
亿华云2025-10-09 03:43:47【人工智能】2人已围观
简介为什么需要单元测试?从产品角度而言,常规的功能测试、系统测试都是站在产品局部或全局功能进行测试,能够很好地与用户的需要相结合,但是缺乏了对产品研发细节特别是代码细节的理解)。从测试人员角度而言,功能测
为什么需要单元测试?测试
从产品角度而言,常规的员进有效用单元测功能测试、系统测试都是阶技站在产品局部或全局功能进行测试,能够很好地与用户的地利需要相结合,但是试报缺乏了对产品研发细节(特别是代码细节的理解)。
从测试人员角度而言,测试功能测试和系统测试以及其他性能测试等等对测试人员的员进有效用单元测全局特性理解能力要求较高,只要测试人员能够掌握一两种自动化测试框架基本能够开展功能、阶技性能自动化测试,地利但是试报借助于测试框架进行研发降低了测试人员对代码的掌握、理解要求。测试
从开发人员角度而言,员进有效用单元测用户需求往往并不是阶技具体的、全面的地利,因此基于用户需求转换成开发文档或着针对某个功能编写开发代码往往也存在着局限性(也即我们常说的试报bug)。
因此,编写单元测试可以帮助测试人员更好地理解代码细节、提高代码开发能力,也能帮助开发人员提前辨识代码中可能存在的bug,提高代码的高防服务器容错能力。
如何制定单元测试报告
良好的单元测试报告能够帮助测试人员更好地分析、挖掘潜藏的问题。那么,如何制定单元测试报告呢,从哪些维度出发呢?在这里我们主要从测试人员角度出发来思考这个问题。
首先,我们需要报告中能够呈现我们的测试用例数量和测试结果(pass或者fail),以及错误细节。其次,从单元测试本身特点出发,我们需要报告中能够呈现出针对单元代码分支、单元方法等的覆盖率,更好地帮助我们梳理和测试用例设计的优良。在此,我们使用surefire-report统计测试用例数量和测试结果,使用jacoco统计单元测覆盖率(注:本文默认测试用例的执行方式是mvn test)。
如何配置 surefire-report 和 jacoco ·surefire-report 配置配置方法:配置 maven-surefire-plugin 插件,maven-surefire-plugin 是 maven 默认的 test
执行器,配置方法如下图所示:
上图中 testFailureIgnore 表示忽略单元测试中的错误继续构建,<include>**/*Test.java</include> :表示任何子目录下所有命名以 Test 结尾的 Java 类,<exclude> **/Test*.java </exclude> :表示不执行任何子目录下所有命名以 Test 开头的云南idc服务商Java 类。
执行方法:使用 mvn test surefire-report:report 即可,会生成在/target/site/surefire-report.html 测试报告文档。如下图所示:Tests 显示总用例数;Errors 指的是程序没有考虑到的情况,例如异常未能捕捉;Failure 指的是预期的结果与实际运行单元的结果不同所导致,常出现在断言处;Skipped 表示跳过的测试用例数;Success Rate表示用例成功率(=成功用例数/总用例数);Time 显示总耗时。Package List 显示详细的package 下用例执行结果。
配置方法:配置 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表示方法个数。
很赞哦!(63)
上一篇: 为什么起域名意义非凡?起域名有什么名堂?
下一篇: 为什么起域名意义非凡?起域名有什么名堂?
相关文章
- a、变更前的公司证件扫描件(代码证或者营业执照)及联系人身份证复印件、变更后的公司证件扫描件(代码证或者营业执照)及新的联系人身份证复印件;身份证复印件需本人签名,公司证件复印件需加盖公章。
- 【大咖来了 第5期】如何建设大数据中台
- 大佬乌镇发言最全汇总:一个都不能错过
- 如何选自动化部署工具?Saltstack VS Ansible
- 国际域名转移的费用和处理步骤是什么?
- 变异测试:如何利用故障?
- 学好Python异常处理的四个关键词与四种结构
- 特别推荐!优化Python开发环境的几个技巧,实现自动化让你远离烦恼
- 比较短的域名方便用户记忆和传播,它带来的好处往往会超过其他类型的域名,如果你非要域名短而且还要包含关键词,那么往往会事与愿违,现在这种域名基本上是可遇而不可求的。
- 关于 HITP 代理,你还需要了解这些,不然面试你是过不去的!