当前位置:网站首页>Advanced skills of testers: a guide to the application of unit test reports
Advanced skills of testers: a guide to the application of unit test reports
2022-06-30 19:36:00 【Little brother said test】
Why unit testing is needed
From a product perspective , Routine function test 、 System tests are conducted based on the local or global functions of the product , It can be well combined with the needs of users , But there is a lack of product development details ( Especially the understanding of code details ).
From the tester's point of view , Functional test, system test and other performance tests require testers to have a high ability to understand the global characteristics , As long as testers can master oneortwo automated test frameworks, they can basically carry out functions 、 Performance automated testing , But research and development with the help of test framework reduces the mastery of testers 、 Understanding requirements .
From a developer perspective , User requirements are often not specific 、 comprehensive , Therefore, there are limitations in converting user requirements into development documents or writing development code for a certain function ( That is what we often say bug).
therefore , Writing unit tests can help testers better understand code details 、 Improve code development capability , It can also help developers identify possible problems in the code in advance bug, Improve the fault tolerance of code .
How to make unit test report
Good unit test reports can help testers better analyze 、 Digging for hidden problems . that , How to make a unit test report , From which dimensions ? Here we mainly think about this problem from the perspective of testers .
First , We need to present the number of our test cases and test results in the report (pass perhaps fail), And error details .
secondly , Starting from the characteristics of unit test itself , We need to be able to show the branch for unit code in the report 、 Coverage of unit methods, etc , Better help us sort out and test the excellence of case design .
Here it is , We use surefire-report Count the number of test cases and test results , Use jacoco The coverage rate of unit measurement is calculated ( notes : The default test case execution method in this article is mvn test).
How to configure
surefire-report To configure
Configuration method : To configure maven-surefire-plugin plug-in unit ,maven-surefire-plugin yes maven default test actuator , The configuration method is shown in the figure below :

Above picture testFailureIgnore It means to ignore the errors in the unit test and continue to build ,**/*Test.java: Indicates that all the names under any subdirectory are named with Test At the end of the Java class ,**/Test*.java: It means that all naming under any subdirectory will not be executed Test At the beginning Java class .
Execution method : Use mvn test surefire-report:report that will do , Will be generated in /target/site/surefire-report.html Test report document .
As shown in the figure below :
Tests Displays the total number of use cases ;
Errors It refers to the situation that the procedure does not take into account , For example, exception failed to catch ;
Failure It refers to the difference between the expected result and the result of the actual operation unit , It often appears in assertions ;
Skipped Indicates the number of test cases skipped ;
Success Rate Indicates the success rate of the use case (= Number of successful use cases / Total number of use cases );
Time Show total time ;
Package List Show detailed package Next use case execution result .

jacoco To configure
Configuration method : To configure jacoco-maven-plugin plug-in unit , The configuration method is shown in the figure below ,phase Represents the life cycle phase of the plug-in operation .

Execution method :mvn test Execution can be . Will be in /target/site/jacoco/ Generate the total coverage report under the directory index.html And different package Unit test coverage report for ../xxx/index.html. Besides, there are csv and xml Unit test coverage report in .

As shown in the above figure, there is a package Unit test coverage report for :
The red progress bar table does not cover ;
A green progress bar indicates that ;
Cov Is the overall coverage ;
Missed Instructions Indicates code coverage ;
Missed Branches Indicates the logical branch coverage ;
Missed Cxty Indicates the number of judgments executed ;
Missed Lines Represents the number of lines of code ;
Methods Indicates the number of methods .
How to use unit test reports
thus , We talked about the importance of unit tests and how to set up and view unit test reports . Now let's talk about how to use unit test reports .
In this article, we describe two unit test reports , One is to facilitate testers to count the number of unit test cases and analyze the results of case execution from the perspective of testers surefire-report The report , The other is to help testers and developers analyze the code coverage of unit test cases jacoco The report .
about surefire-report For reporting purposes , We are mainly used to count the number of use cases and judge whether the use case design is reasonable through the use case execution results 、 Is there a problem with the test environment , Can be similar to something closer to the code layer “ A functional test ” The report .
about jacoco Unit test coverage report , We can judge whether the test case design is missing by unit test coverage , So as to complete the missing test cases . The following figure shows a Package Unit test coverage report of a method in a class .

As shown in the figure above , Green diamonds mean full coverage , Yellow diamonds indicate partial coverage , A red diamond means there is no cover .
From the above test report, we can see the lack of unit test cases covering the red part , So it can be redesigned 、 Complete the test cases corresponding to the red branch .
Summary
For most testers , There are few opportunities to contact unit testing at work . however , From the perspective of career development path and personal ability improvement , Learning unit testing can not only improve the business ability of testers , Understanding of the code , It can also improve some “ viability ” Well , It is said that “ Many hands make light work ” It is so .
Learning resource sharing
Finally, thank everyone who reads my article carefully , Watching the rise and attention of fans all the way , Reciprocity is always necessary , Although it's not very valuable , If you can use it, you can take it

These materials , For those who want to advance 【 automated testing 】 For our friends, it should be the most comprehensive and complete war preparation warehouse , This warehouse also accompanied me through the most difficult journey , I hope it can help you ! Everything should be done as soon as possible , Especially in the technology industry , We must improve our technical skills . I hope that's helpful …….

边栏推荐
- 企业中通过组策略管理Edge浏览器设置(IE模式、主页绑定等)
- 达梦数据库重新初始化实例操作记录
- 20220607 fell below the recommended retail price, and the GPU market is moving towards oversupply
- There are three ways to create instances by reflection (2022.6.6-6.12)
- 连接实验室服务器
- 科大讯飞活跃竞赛汇总!(12个)
- 反射创建实例三种方式(2022.6.6-6.12)
- 实现各种效果和功能的按钮,读这篇文章就够了
- How to use xUnit framework to maintain test cases?
- 小球大小随机,随机运动碰撞
猜你喜欢

全技术栈、全场景、全角色云原生系列培训重磅首发,助力企业打造硬核云原生技术团队

Safe holidays without holidays, VR traffic makes children travel safely | Guangzhou Sinovel viewpoint

VoIP Push 在海外音视频业务中的应用

虚拟主机什么时候适合更换成云主机?

商业智能BI与业务管理决策思维之四:业务成本分析

熵-条件熵-联合熵-互信息-交叉熵

Influence and requirements of different manufacturing processes on the pad on PCB

SQL continuous login problem

企业中通过组策略管理Edge浏览器设置(IE模式、主页绑定等)
![20220528 [talk about fake chips] those who are greedy for cheap often suffer heavy losses. Take stock of those fake memory cards and solid state drives](/img/96/8e195536127b90d4eec54294371cad.png)
20220528 [talk about fake chips] those who are greedy for cheap often suffer heavy losses. Take stock of those fake memory cards and solid state drives
随机推荐
CTF flow analysis common questions (II) -usb flow
JVM FAQs
Evolution of screen display technology
History, selection strategy and in-depth evaluation of note taking software
哪个券商佣金的佣金最低?另外,手机开户安全么?
VMware16安装Win11虚拟机(最全步骤+踩坑)
手机炒股开户安全嘛!?
Kalman滤波器--从高斯融合推导
Redis入门到精通01
设计电商秒杀系统
MySQL modify data type_ MySQL modify field type [easy to understand]
软件工程最佳实践——项目需求分析
Iris, the web framework of go
ArcGIS无插件加载(无偏移)天地图
A common mistake in enterprise model selection
Whether the SQL is indexed
Redis beginner to master 01
WordPress 博客使用火山引擎 veImageX 进行静态资源 CDN 加速(免费)
Temperature measuring instrument based on STM32 single chip microcomputer
笔记软件的历史、选择策略以及深度评测