Misunderstanding of software test casesSoftware Testing
Abstract: Software Test Cases are used for effective discovery.Software defectsA specific set of test objectives, test steps, and expected test results. Correct understanding and design of software test cases can improve the effectiveness of software testing and facilitate testingQualityOfMeasurement, EnhancementTest processManageability.
In the actual software project testing process, because the role of the software test case is different from the design method,Tester(Especially new users who are just engaged in software testing) There are many false understandings of software testing cases, which have negative impacts on actual software testing. This article lists and analyzes these misunderstandings.
One misunderstanding: the design method for testing input data is equivalentTest Case Design Method
Now some test books and articles talk about software.Test Case Design MethodThere are often such expressions: the design methods of test cases include equivalence class, boundary value, cause and error estimation method, and scenario design method. This statement is one-sided. These methods are only software.Function TestingHow to determine the test input data in case design, rather than all the content of the test case design.
The negative impact of this understanding may make many people think that the test case design is how to determine the input data of the test, thus hiding the richness of the test case design content and technical complexity. If the test case designer asks himself for this kind of knowledge, the tester harms himself. If the tester teaches, the tester harms others. If the tester guides the test, the test team is harmed. It sounds like a "big problem", but it is not an alarmist ".
Undoubtedly,Software Function TestingAndPerformance TestingIt is very important to determine the input data of the test. It determines the effectiveness and efficiency of the test. However, the determination of input data in a test case is only a subset of the test case design method. In addition to determining the input data, the design of the test case also includes howRequirement, Design specifications and other documents determine the design strategy of the test case, the presentation method of the design case, and the organization and management form.
When designing test cases, you must consider the functions, features, composition elements, and,DevelopmentPhase (milestone), test case organization method (whether to use the test caseDatabaseManagement. Specific to the design of each test case, the test goal of the test case can be determined based on the minimum goal of the tested module; determined based on the user's use environmentTest EnvironmentDetermine the steps of the test case based on the complexity of the tested software and the skills of the test case executor. Determine the expected test case execution results based on the Software Requirement documents and design specifications.
Misunderstanding 2: emphasize that the more detailed the test case design, the better.
When determining the test case design goalsProject ManagementThe personnel stressed that the test case "the more detailed the better ". There are two specific aspects: Design as many design cases as possible, and read as many test cases as possible; test cases should include the detailed steps of test execution as much as possible, to achieve "Anyone can perform a test based on the test cases", the more detailed the pursuit of test cases, the better.
The biggest harm of this approach and viewpoint is that it consumes a lot of test case design time and resources. It may be that after the test case design and review are completed, there is little time left for the actual test execution. Because the project team of the current software company has limited time and human resources allocated to the test during the planning and testing phase, the success of a software project requires the best balance of quality, time, and cost. If there is not enough test execution time, more Software defects cannot be discovered, the quality of testing is even more difficult.
The fundamental purpose of writing test cases is to effectively identify possible defects of the Software. To achieve this goal, we need to analyze the characteristics of the tested software and use effective test case design methods, try to use fewer test cases and meet reasonable test requirements to achieve the effect of "less time and more work.
How detailed the test steps in the test case are depends on the "End User" of the test case (that is, the person who executes the test cases ), skills and product familiarity of test case executors. If the person who writes the test case is also the person who executes the test case, or the person who executes the test case has a deep understanding of the tested software, there is no need to detail the test case. If the test case is executed by a new test person, orSoftware testing OutsourcingFor independent third-party companies, the execution steps of test cases should be detailed enough.
Misunderstanding 3: pursuing test case design "One step in place"
Nowadays, software companies are aware of the importance of test case design. However, some people think that designing test cases is a one-time investment. Once a test case is designed, everything is done, one-sided pursuit of the test design "One step in place ".
The dangers caused by this awareness make the design of test cases less practical, or mislead test case executors, many false positives are not Software defects"Bug", Such a test case is" virtually empty "in the test execution process, and it will inevitably become a" junk document.
"The only thing that remains unchanged is change ". The development process of any software project is constantly changing. Users may put forward new requirements for software functions, design specifications are updated accordingly, and software code is constantly refined. The design of software test cases is carried out in parallel with the software development and design. The content and quantity of software test cases must be adjusted and increased or decreased according to the changes in the software design, add test cases for new software features, delete some test cases that are no longer applicable, and modify the test cases that have been updated by the module code.
The software test case design is onlyTest Case ManagementIn addition, it also needs to be reviewed, updated, and maintained to improve the "freshness" of test cases and ensure "availability ". Therefore, software test cases must adhere to the "keep pace with the times" principle.
Misunderstanding 4: design test cases for new testers
Many new testers who have just participated in the test often ask the following question: "How can we design a test case ?". Because they have never designed test cases before, they feel "the tiger has no way to get started" in the face of large tested software ".
Designing test cases for new testers is a high-risk testing organization. The negative consequence is that the designed test cases do not cover the test coverage of software functions and features, low writing efficiency, long review and modification time, and poor reusability.
Software Test Case design is an advanced skill in software testing. Not everyone (especially new testers) can write software test cases. Test Case writers should not only master the technology and process of software testing, in addition, you must have a thorough understanding of the design, functional specifications, user trial scenarios, and program/module structure of the software to be tested.
Therefore, in the actual test process, experienced testers are usually arranged to design test cases. New testers can start to execute test cases, as the project progresses, testers are familiar with the testing technology and the software to be tested. They can accumulate test case design experience and write test cases.
Article from the collar test software testing network http://www.ltesting.net/