Different types of software products have different software testing methods and focuses, and the testing process will also be different.
For the same type of software products, the testing processes of different software companies will also be different.
Although the specific testing steps for different software and different companies are different, the basic testing process to be followed is the same.
![Software testing: the basic process followed by software product testing1 Software testing: the basic process followed by software product testing](https://www.infocodecn.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
1. Testing requirements analysis
Testers need to analyze the software requirements before formulating a test plan in order to have a clear understanding of the software product to be developed, so as to clarify the test objects, the scope of the test work, and the focus of the test. When analyzing requirements, you can also obtain some test data as the basic basis for the test plan and lay a solid foundation for subsequent testing.
In addition, analyzing test requirements is also testing software requirements to discover unreasonable aspects of software requirements.
The identified test requirements must be verifiable, and the test requirements must have an observable and measurable result. Requirements that cannot be verified are test requirements. Test requirements analysis also involves communicating with customers to clarify certain confusions and ensure that testers and customers reach a consensus on the project as early as possible.
2. Test plan formulation
a. Determine the test scope: clarify which objects need to be tested and which objects do not need to be tested.
b. Develop a test strategy: The test strategy is the most important part of the test plan. It divides the content to be tested into different priorities and determines the focus of the test. Select the test environment and test method (such as manual testing, automated testing) according to the characteristics of the test module and the test type (such as functional testing, performance testing).
c. Test resource arrangement: Reasonably arrange test resources by considering test difficulty, time, workload and other factors, including personnel allocation, tool configuration, etc.
d. Develop test progress: Arrange the progress of the test work according to the software development plan and the overall product plan, and also consider changes in each part of the work. When scheduling your work, it’s a good idea to allow a buffer between testing efforts to accommodate changes in plans.
e. Test risk estimation: List the uncertain factors that may arise during the testing process and formulate response strategies.
3. Test case design
Test case refers to a detailed test plan, including test environment, test steps, test data and expected results.
Different companies will have different test case templates. Although they differ in style and style, they are essentially the same and include the basic elements of a test case.
The principle of writing test cases is: try to achieve maximum test coverage with the minimum number of test cases.
4. Test execution
Test execution is the process of executing tests according to test cases. This is the most important activity stage of testers. When executing tests, proceed according to the priority of test cases.
During the testing process, testers must closely track the testing process, record defects, form reports, etc. This stage is the most important work stage for testers.
5. Test report writing
A complete test report must include the following key points:
a. Introduction: the purpose of writing the test report, explanation of professional terms and reference materials appearing in the report, etc.
b. Test summary: Introduce the project background, test time, test location, test personnel and other information.
c. Test content and execution: describe the version of the test module, test type, test case design method used and test pass rate, provide evaluation conclusions on the test execution process based on the test pass, and give test execution activities Improvement suggestions are provided for reference in subsequent test execution activities.
d. Defect statistics and analysis: Count the number and types of defects found in this test, analyze the causes of defects and provide suggestions for avoidance measures, and also record residual defects and unresolved problems.
e. Test conclusions and suggestions: Conduct an overall evaluation of version quality from multiple dimensions such as requirement compliance, functional correctness, performance indicators, etc., and give specific and clear conclusions.