If the entire testing system is regarded as a country, the process of testing and analysis and design is the process of legislation, and the final testing scheme/point/use case is the law of the country, every testing citizen should work in accordance with these laws during the testing process. Since it is legislation, we should consider it from the legislative motion.
I. Analyze test requirements
Just as we need to collect legislative suggestions from National People's Congress institutions during legislation, we need to collect and analyze the needs of testing design in the early stage. The test requirements mainly come from three aspects: development and design requirements, user application requirements, and test experience requirements.
Development and design requirements.
It mainly includes product package requirements, design requirements, design specifications, and product hardware and software architecture. In fact, the development and design needs are only an image of the customer's needs at the development level, not the original image of the customer's needs. Therefore, while collecting these requirements, we should not only care about the development and design requirements documentation, but also focus on the actual needs of its hidden customers and thoroughly analyze them to ensure that the test design is close to the customers rather than the development, embody the end-to-end test design philosophy.
For example, the user needs to build a chimney, but the developer reversed the drawing and designed it as a digging well. If the test design is close to development, this huge error cannot be found; if you directly see the user's needs, it is easy to find the negative error. Of course, this is only an example, but in reality, the fact that the features developed cannot meet user needs and are forced to rework exists. Therefore, when establishing a test method, we must require that the collected motion be a reflection of the original needs.
User Application Requirements
This mainly includes some important user practical networking and so on. These are directly from the user's content, so they can be directly included in our test design.
Experience Requirements
In the process of testing legislation, we need to solidify previous experiences into documents to form fixed typical networking, typical applications, and typical scenarios.
It is worth noting that the experience is not old-fashioned, but should be updated and solidified based on the development of the current technology. For example, the early understanding of STPS was still stuck in STPS/rstps, and the networking at that time could not meet the needs of subsequent mstps tests. This requires the design of a new networking based on the original networking, form new experiences.
The requirements for these three types of tests are clearly analyzed, and the product "what needs to be tested" is basically clear. Next, we need to analyze the specific design according to the demand, that is, to solve the problem of "how to test" and start the real design legislation.
2. design test plan/test point/test case
After collecting and analyzing test requirements in the early stage, we divide the test design into three types based on different test objects and scopes: Characteristic Test Design, combined test design, and application test design. The feature test design is mainly designed for a single feature. The combination test design mainly combines multiple related features. The application test design is a special design based on the user's application. It should be pointed out that, in fact, the combination test design is very similar to the application test design, which is a combination test design for a specific user environment, that is to say, the application test design is a combination test design that is closer to the user's actual application. You do not need to optimize the networking based on your own experience. It is best to perform a design based on a user environment.
No matter what type of test design work is, the Content Embodied in the actual operation is the test plan, test point, test case, that is, the test rules.
Test Plan
The test plan is the overall analysis and planning of the test activities. In addition to testing object analysis, each test plan should include the network topology, network configuration, and traffic model.
The feature testing scheme is the most basic one. It is mainly used to describe the testing methods and processes of a single feature. Because the feature testing scheme is mainly used for testing activities whose product functions are not yet stable, covering the early stages of product development, there is a problem of the lack of actual product materials. Therefore, when designing the feature testing scheme, make sure that the network topology is as simple as possible to avoid overly complicated design. Correspondingly, early versions of product development are still in the function verification phase, therefore, the network configuration of the feature test scheme should be configured with the tested feature as the core to avoid excessive complex combinations. The traffic model should be suitable for light-load continuous traffic.
The combination/Application Test Scheme is generally used in the relatively stable stage of the product. According to the needs of the combination/application, you can design the network topology and network configuration as needed. One thing to note is that in the Combined Test Scheme, heavy-load continuous traffic model is generally used. In the design of the Application Test Scheme, the user group network needs to be verified, therefore, the traffic model also needs to be considered in line with the user's actual situation, because the heavy load continuous traffic model does not work in all user group networks, sometimes in some specific user distributed networks, the Light Load overlay burst traffic model also has problems.
Test Point/use case
The test scheme only analyzes and breaks down the objects to be tested. Next, we need to summarize and sort out the analysis and decomposed content, so as to form a test point. The test point is the outline of the test design. It is the soul of the whole design. A good test point should be the induction of the test object. The order of the test point arrangement is the process of analyzing the test object, and the test point granularity (that is, the content of the test point) the choice is to strictly grasp the capability baseline.
Because the ideas of the Test designers vary widely, in order to get a more consistent test point design, we adopted the test Type Analysis Method to clarify the structure of the test point file. each test point file mainly includes: configuration testing, function testing, protocol consistency testing, performance specification testing, stress testing, exception testing, and interoperability testing. The granularity of the test points is indeed difficult to unify, So we generally estimate and design the test execution efficiency based on 10 person-days, which requires rich experience in testing execution.
However, a test point cannot describe the specific procedure in detail, which requires a test case. The test case design is a process of refining the test points to the executable steps. Each test case is continuously verified by the execution. In the case design, we have some common engineering methods: boundary value method, equivalence class division, and incorrect guess. These are nothing more than extending our design ideas to make the test design more physical.
3. Train designers
In the entire test process, the real executors are all flesh and blood, and the experience of these people is the vitality of the process. Therefore, to make full use of the vitality of the test design process, people with rich experience and high technical level should lead the test design.
In the H3C testing system, it mainly includes Assistant test engineers, test engineers, test experts, Senior test experts, etc. For general testing and design work, people with good testing practices (test engineers) are basically competent. In addition to testing practices, complicated cross-domain networking testing design requires, A wide range of data communication technical knowledge is also required, which requires the testing experts to undertake the work; senior testing experts are responsible for testing and designing various more complex cases (such as hacker attack testing ).
In order to adapt to different levels of test design activities, we need to cultivate the teams of testers of different technical levels to make full use of the resources and engage in complex design activities at high technical levels, low-tech personnel are engaged in simple design activities, and those who do not have design qualifications are not allowed to participate in design activities.
Iv. test design and maintenance
Practice is the only criterion for testing truth, and test execution is the best way to verify the correctness of the test design. Testers need to feedback the design problems found in practice to the design team through the tracking process, so that the defects and vulnerabilities of the preliminary design can be repaired and complete, this will form a virtuous circle. The H3C problem tracking process provides a good repair mechanism, which not only ensures the correctness of design modifications from end to end, but also ensures the quality of modifications during the intermediate setup review process.
V. Conclusion
Test Design is a creative activity, whether in the early stage of demand analysis, implementation of analysis, or continuous improvement of design. To establish your own test method, all test design activities must be carried out throughout the test activity. The test execution reflects the essence of the test design, the test design absorbs the wisdom of test execution.