Use case design and management
If the previously mentioned defect management is the most basic requirement of testing, then the design and management of the use case is really the core skill of the test engineer.
Why is it that use case design and management is the core skill of the test engineer, not the technical direction that everyone is concerned about. First, the technical direction is the means, but any technical means are for testing purposes and services, if the purpose of the deviation, then all the means can not achieve the intended purpose, or even if the goal is not to give feedback on the effect you want.
For example, if we need to test whether the lunar rover works on the moon, what techniques do you take to test it? In essence, a different angle from the test to change the idea, on Earth to simulate a similar environment on the moon.
Then testing and management of test cases are divided into the following three main pieces:
1. Format of test Cases
2. Design of test Cases
3. Management of test Cases
Format of test Cases
The format of use cases is not really a very complex thing, but the idea here is to hope and the previous chapter of the same concept, is the use case writing elements.
Relative defects can not understand the use case is easier to read, a no head and no end of the text let others see completely do not know what to say or exactly where the wrong. The General functional black box test case consists of 7 elements, subject-preset conditions-input data-action steps-expected results-Actual results-priority, they regulate the use case component, in order to effectively avoid ambiguity and so on. The most important thing for a use case is to let the person performing the reading know:
1. How to Operate
The procedure of operation is a rather complicated thing, because it involves the operation steps, background environment, many defects can not be reproduced or can not be accurately located and the background of the operation of some relationship. The entire use case can not effectively reproduce the process of manufacturing defects, the goal of testing is not very fine, it will result in a use case corresponding to a large number of coverage points.
2. What is wrong?
As a reference base for defect submissions, the wrong criteria, or expectations, are very important. After the previous test case operation process, exactly what result is correct, it must be very clear positive expression. And the Chinese here has 1.2 semantics, in the expression will be more prone to problems.
There is a need to re-emphasize that the person who executes the use case is not necessarily the person who writes the use case, the designer who writes the use case, the executive who executes the use case, and the designer must ensure that the performer can complete the test exactly as he or she wants.
Design of test Cases
Test case design is to test the designers from the basic steps of writing a deeper level of requirements, so-called test case design is only through a certain method to accurately cover the measured objects in all directions, reach a certain coverage, thereby improving the quality of software means.
Why use a test case design method? First of all, let me give you a simple example, that is, when you want to travel, you have to consider what you need to carry, what is it? (Here you can think about 2 minutes first thinking) and then there will be a problem, that is, every time you go out to the sights always encounter some problems, and then found that less with something, slowly more than a few times will do such a thing, write an out-of-pocket object table.
1. Important Documents (passports, ID cards, air tickets, mobile phones, wallets, bank cards, cash, etc.)
2. Necessities (chargers, razors, towels, change of clothes, pajamas, slippers, etc.)
3. Other (umbrellas, maps, emergency contacts, some first aid drugs, etc.)
4. What to check out in front of the house (Hydro gas, doors and windows)
After each go out to follow this process to check again, then it is not very likely due to the omission of some of the accidents, especially after repeated tests will find that the use case will become more perfect.
Also for the software is the same, directly before each test to imagine where to test, this effect will be very poor, very dependent on the design staff at the time and experience. Through the scientific method can help us effectively to the design of the test case from perceptual thinking into rational design, such as the above written to go out of the regular content is actually used in the equivalence class method to split.
About the test case design method I do not specify here, we can search the Internet, I do a little bit here to add is that whether it is the black box test case design method or white box test case design method, in essence, from all angles effective coverage of its various branch processes. When doing test case design, if you can do black box use case design can see white box, white box use case design can see black box, then very powerful.
Management of test Cases
Now that we have mentioned the design of the test case, then it will involve the management problem. So what does management of use cases manage? The use case is hierarchical, use case design in fact divided into two parts (use case analysis, use case design), use case analysis refers to starting from a piece (the equivalence class cut, you can use the Software quality model or other Balabala way), get each class after this class for detailed design coverage of the various branches of this kind of situation. Let's just say I have a page with a login function, then the login function I can from the security considerations This is the analysis, security will be injected under the attack, this is the analysis, then the design to do? Starting with a different input to cover the filtering mechanism proves that this type of injection is not feasible.
In the above content, it involves the level of management, all of the test management tools used for use case management provides a hierarchical management of the function (a bit of a sense of the need to manage), about the relationship between requirements and use cases, we wait until the demand section to mention. We manage use cases hierarchically, so that we can classify, maintain statistical analysis, and ultimately get coverage data (which is generally used in system testing as a use case to cover requirements). But here I also want to add a 100% coverage and not much significance, because the demand for 100% coverage does not represent what, a need for a use case is not guaranteed quality, to do well is to achieve the system test cases run out of the white box coverage effect.
The design and management of use cases is actually a very big topic here a few strokes are just a few of the backbone of my heart said out, and to do this thing without 1-2 years of business and technical background is not likely. Although it is thought that writing use cases is not a technique, it is the most powerful technique for testing.
The test case is the soul of the tester, and the importance of the test case is neglected for reasons such as project progress and personal attitude. Imagine a man without a soul, what else could it leave?
Small white Growth Advice (6)-Test the soul-cloud