当前位置:网站首页>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 …….

边栏推荐
- Task04:集合运算-表的加减法和join等--天池龙珠计划SQL训练营学习笔记
- SSM整合流程(整合配置、功能模块开发、接口测试)
- sql连续登录问题
- Four tips tell you how to use SMS to promote business sales?
- Safe holidays without holidays, VR traffic makes children travel safely | Guangzhou Sinovel viewpoint
- 基于STM32单片机的测温仪
- [multithreading] use the thread pool to implement a simple thread pool
- VS 常用的快捷键指令
- 假期安全不放假,VR交通让孩子安全出行|广州华锐视点
- #夏日挑战赛#【FFH】HarmonyOS手机遥控Dayu开发板相机
猜你喜欢

Nodejs installation and introduction

German agbb VOC hazardous substances test

Evolution of screen display technology

BeanUtils.copyProperties() 对比 mapstruct

Task01: getting to know database and SQL (Note 1)

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

项目配置了eslint,编辑器没有关闭eslint功能的情况下,eslint没有生效

4个技巧告诉你,如何使用SMS促进业务销售?

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

说实话ThreadLocal真不是啥高级的东西
随机推荐
Tupu software has passed CMMI5 certification| High authority and high-level certification in the international software field
CTF flow analysis common questions (II) -usb flow
哪个券商佣金的佣金最低?另外,手机开户安全么?
Development: how to install offline MySQL in Linux system?
Business Intelligence BI and business management decision-making thinking 4: business cost analysis
What securities dealers recommend? In addition, is it safe to open a mobile account?
Abaqus 2022软件安装包和安装教程
How to configure webrtc video stream format playback in the new version of easygbs?
Pyth Solana is a bridge connecting reality on the chain
Practical application of "experience" crawler in work
SSM整合流程(整合配置、功能模块开发、接口测试)
Safe holidays without holidays, VR traffic makes children travel safely | Guangzhou Sinovel viewpoint
Small notes - integer improvement (C language)
MySQL recursion
MQ component (2022.5.16-5.22)
码蹄集 - MT3435 · 赋值 - 二分图问题 - 图文讲解
sql是否走索引
Temperature measuring instrument based on STM32 single chip microcomputer
Iris, the web framework of go
Buttons to achieve various effects and functions. Reading this article is enough