As enterprises pay more and more attention to software quality, the position of software testing is gradually improved, and the importance of testing is gradually apparent, the application of testing tools has become a general trend. Currently, many tools are used for testing. These testing tools can be divided into white-box testing tools and black-box testing tools.Test Tool
,Performance testing tools
In addition, there are also tools for Test Management (test process management, defect tracking management, test case management. (Autorunner
, Testcenter
, Tar
)
Total
The Application of testing tools can improve the quality and efficiency of testing. However, when selecting and using test tools, we should also see that not all test tools are suitable for me during the test process.
In addition, with the test tool, the use of the test tool is not equal to the true role of the test tool in the test. Therefore, this article describes how to select and use the test tool.
.
1. Purpose of the Application Testing Tool
The purpose of the application testing tool is clear. In general, the application testing tool is mainly used for the following purposes during the testing process:
A) Improve the testing quality;
B) reduce repetitive work during testing
C) Automated Testing
The test tool is used in the test to discover the defects that are difficult to find during the normal test (for example, the devpartner tool of numbench can detect memory problems in the software)
2. Classification and selection of Test Tools
Generally, testing tools are classified into white box testing tools, black box testing tools, performance testing tools, and test management tools.
A) white box testing tool
White-box testing tools are generally used to test the code. The defects found in the testing can be located at the code level. Based on the principle of the testing tool, they can be divided into static testing tools and dynamic testing tools.
I. static testing tools
The static test tool directly analyzes the code and does not need to run the code or compile links to the Code to generate executable files. Static testing tools generally scan the code syntax to find out areas that do not comply with the coding specifications, evaluate the code quality based on a certain quality model, and generate a system call relationship diagram.
Representatives of static testing tools include telelogic's logiscope software and PR's prqa software.
Ii. dynamic testing tools
Different from static testing tools, dynamic testing tools generally use plug-ins to insert some monitoring code into the executable file generated by the Code, used to count the data when the program is running. The biggest difference from static testing tools is that dynamic testing tools require the actual operation of the tested system.
Dynamic Testing Tool representatives include the devpartner software of compuware and the purify series of rational.
B) black box testing tool
Black
The box testing tool is applicable to black box testing. It includes functional testing tools and performance testing tools. The general principle of the black box testing tool is to use the script recording (record)/playback
(Playback), simulate user operations, and then record the output of the tested system to compare with the pre-defined standard results. The black box testing tool can greatly reduce the workload of black box testing in iterative development.
In the process of regression testing.
Black box testing tools represent teamtest, robot, and qacenter from rational, and qacenter from compuware. In addition, performance testing tools include radview webload, Microsoft webstress, and other tools.
C) Test Management Tools
The test management tool is used to manage the test. Generally, test management tools manage test plans, test cases, and test implementation, and test management tools also include defect tracking management.
Test Management Tool representatives include test Manager of rational and trackrecord of compureware.
D) other test tools
In addition to the above test tools, there are also some dedicated test tools, such as testbytes for database testing and ecoscope for application performance optimization.
E) Selection of Test Tools
In the face of so many testing tools, the selection of tools has become an important issue. When considering the selection of tools, we recommend that you weigh and choose from the following aspects:
I. Functions
Merit
Of course, this is what we are most interested in. Choosing a testing tool is the first thing we can do is view the functions it provides. Of course, this does not mean that the more functions the test tool provides, the more appropriate it is.
. It is not wise to spend money on unused functions. In fact, the basic functions of similar software testing tools on the market are similar.
Functions are similar, but they have different focuses. For example, logiscope and prqa software, which are both white-box testing tools, provide roughly the same basic functions, only in encoding rules, encoding
The customization of rules and the adoption of code quality standards are different.
In addition to basic functions, the following functional requirements can also be used as a reference for selecting test tools:
1) report function; the results generated by the test tool must be explained by people. In addition, the persons who view the final report are not necessarily familiar with the test. Therefore, whether the test tool can generate a result report, the situations in which reports can be provided are factors to consider.
2)
The integration capability of the test tool. The introduction of the test tool is a long-term process and should be a continuous process accompanied by the improvement of the test process. Therefore, the integration capability of testing tools must also be considered,
The integration here includes two aspects: first, whether the test tool can be well integrated with the development tool; second, whether the test tool can be well integrated with other test tools.
3) Compatibility between the operating system and development tools; whether the test tool can be cross-platform or not is applicable to the development tools currently used by the company. These problems must be considered when selecting a test tool.
Ii. Price
Division
In addition to functions, the price should be the most important factor. When I say something off the topic, I often see people say that I have cracked the XX testing tool. I am very disapproving this attitude. For example
If we cannot respect others' work as software practitioners, how can we expect our customers to respect our work? Moreover, the price of testing tools is not really expensive to an unacceptable level, for example
Numbench's devpartner has a fixed license of more than RMB 20 thousand, which can be borne by a medium-sized company.
III. The purpose of the introduction of testing tools is to test automation. The introduction of tools should consider the continuity and consistency of tool introduction.
Testing tools are one of the important steps of testing automation. When introducing/selecting testing tools, you must consider the continuity of testing tool introduction. That is to say, the selection of testing tools must be comprehensively considered, and testing tools should be introduced in stages and step by step.
3. Application of testing tools in the testing process
I have already described the classification of test tools and the selection of test tools. Here, I also want to share my opinion on the application of the test tool during the test process.
Everyone has understood and recognized the role of the testing tool. However, many companies that introduce the testing software have not been able to make the testing software play its due role, the main reasons are as follows:
A) blindly introduce testing tools without considering the company's actual situation
First
First, we need to make it clear that not every test tool is suitable for the company's current situation. I have seen some companies introduce test tools at a great cost with good wishes. Half a year later, the test tool became
The decoration has become the pain point of the introducer. The reason is that the actual situation of the company is not taken into account, and testing tools are unrealistically expected to change the current situation of the company, resulting in failure.
For example
If the software developed by a company belongs to the engineering software, the demand and user interface changes greatly throughout the development process. In this case, it is not suitable for introducing the black box testing software, because the basic principle of the black box testing software
It is recording/playback. For constantly changing requirements and interfaces, the workload of modifying and recording Scripts may be much higher than that of testing and implementation. Using testing tools not only can not reduce the workload, this increases the burden on testers.
Me
The company has successfully introduced the testing tool (at least from the current perspective). We have not introduced the black box testing tool for the time being, in view of the fact that all application projects in our company have requirements and frequent interface changes, mainly rely on white
The box testing tool improves the code quality. Currently, we have introduced the following test tools: devpartner of compuware and logisner of telelogic.
The testing and maintenance phases play their due roles.
B) no good environment for using test tools
In other words, there is no mechanism to make the test tool truly
Can play a role. For example, white-box testing tools are generally used in the unit test phase, while unit testing is done by developers. If there is no process to regulate the actions of developers, the project progress is under great pressure.
In this case, developers may consciously avoid using test tools to avoid problems. In this case, a binding mechanism must be formed to force the use of test tools.
Test
The use of tools is clearly defined into the company's development process. I think it is a better way. Our current practice is to clearly describe in the development process that the test tool generation must be included in the project milestone submission documents
The data in the report is the basis for determining whether the project is qualified. According to our company's actual situation, we need to submit the test coverage report generated by the devpartner tool when submitting the integration test,
The code quality report generated by logis requires that the code coverage rate of unit test must be above 80%, and the code quality evaluation must be above fair.
C) no training for effective testing tools
Test
Users of the test tool must have a good understanding of the test tool. In this regard, effective training is essential. The training of testing tools is a long-term process. It can be effectively achieved without passing one or two lectures.
Result. In addition, in the actual use of the test tool, the user of the test tool may still have such a problem, which also requires a dedicated person to solve. Otherwise, enthusiasm for testing tool users
Is a big blow.
During the training of test tools, our company conducted a series of training and exchanges, from the "Basic Concepts training of Test Tools" for development managers to the actual users of test tools.
The "test tool usage training", the "test tool Application Communication Seminar", and the "test tool application Q & A" regularly issued. I have made great efforts in this regard. Currently, the application of testing tools
It has become a basic skill for developers and testers.
From: http://www.spasvo.com/html/ceshi/20080709-234.html