当前位置:网站首页>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-07-02 00:39:00 【Two black】
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 testing framework reduces testers' mastery of code 、 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 …….
Join my communication group below for free !
边栏推荐
- 基于全志H3的QT5.12.9移植教程
- Which app is better and more secure for stock mobile account opening
- Node -- egg creates a local file access interface
- 2022 high altitude installation, maintenance and removal of test question simulation test platform operation
- Source code of Qiwei automatic card issuing system
- Basis of deep learning neural network
- It's nothing to be utilitarian!
- Leetcode 96 différents arbres de recherche binaires
- Which securities company is safer to open a stock account
- Intelligent operation and maintenance practice: banking business process and single transaction tracking
猜你喜欢
JS -- image to base code, base to file object
Download the online video m3u8 tutorial
Synthetic watermelon game wechat applet source code / wechat game applet source code
Promise和模块块化编程
Linux centos7 installation Oracle11g super perfect novice tutorial
How do Lenovo computers connect Bluetooth headsets?
sso单点登录的实现。
Intelligent operation and maintenance practice: banking business process and single transaction tracking
Data analysis methodology and previous experience summary [notes dry goods]
Picture puzzle wechat applet source code_ Support multi template production and traffic master
随机推荐
SQL数据分析之流程控制语句【if,case...when详解】
sso单点登录的实现。
JS——图片转base码 、base转File对象
Promise和模块块化编程
Leetcode skimming: binary tree 02 (middle order traversal of binary tree)
Using multithreaded callable to query Oracle Database
Some understandings of graph convolution neural network r-gcn considering relations and some explanations of DGL official code
Data analysis methodology and previous experience summary [notes dry goods]
Node -- egg implements the interface of uploading files
What is ThreadLocal memory leak and how to solve it
Leetcode skimming: stack and queue 06 (top k high-frequency elements)
Example explanation: move graph explorer to jupyterlab
Leetcode skimming: stack and queue 05 (inverse Polish expression evaluation)
Node - generate wechat permission verification configuration
Relevant settings of wechat applet cache expiration time (recommended)
Guide d'installation du serveur SQL
Node -- egg creates a local file access interface
Leetcode skimming: binary tree 03 (post order traversal of binary tree)
Leetcode96 different binary search trees
JS common library CDN recommendation