What is the basic process of software testing? Detailed introduction to software testing process


Software testing, like software development, is a relatively complex work process. If there are no rules to follow, random testing will inevitably cause confusion in the testing work. In order to standardize and normalize the testing work and complete the testing work quickly, efficiently and with high quality, a complete and specific testing process needs to be developed .

01 Software testing process

Different types of software products have different testing methods and focuses, and the testing process will also be different. For the same type of software products, different companies will have different testing procedures. Although the detailed testing steps of different software are different, the most basic testing process they follow is the same: analyze test requirements → formulate test plans → design test cases → execute tests → write test reports. The following is a brief introduction to the basic process of software testing.

(1) Analyze test requirements

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.

Testing requirements analysis is actually a test of software requirements. Testers can discover unreasonable aspects of software requirements, such as whether the requirement description is complete, accurate and unambiguous, and whether the requirement priority arrangement is reasonable, etc. Testers generally make a software requirements specification check list based on the software development requirements document, and analyze and verify the software requirements according to each check item, as shown in the table.

picture

The table lists what kind of checks need to be carried out on the software requirements. The tester checks and makes judgments one by one according to the check items. If the requirements are met, select "Yes". If the requirements are not met, select "No". If a certain check item is not applicable Then select "NA". The table is just a general software requirements specification checklist. In actual testing, appropriate additions, deletions, or modifications must be made based on specific test items.

When analyzing test requirements, it should be noted that the identified test requirements must be verifiable, and the test requirements must have an observable and measurable result. Requirements that cannot be verified are not 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) Develop a test plan

Testing runs through the entire software development life cycle and is a large and complex task that requires the development of a complete and detailed test plan as a guide. The test plan is a navigation map for the entire testing work, but it is not static. As the project advances or requirements change, the test plan will continue to change. Therefore, the formulation of the test plan is a process of continuous adjustment and gradual improvement as the project develops. .

The test plan generally requires the following work arrangements.

① Determine the test scope: Make it clear which objects need to be tested and which objects do not need to be tested.

② 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).

③ Arrange test resources: Make reasonable arrangements for test resources by measuring factors such as test difficulty, time, workload, etc.

Including personnel allocation, tool configuration, etc.

④ Arrange test progress: Arrange the progress of 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.

⑤Estimate testing risks: List the uncertain factors that may arise during the testing process and formulate response strategies.

(3) Design test cases

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 to try to achieve maximum test coverage with the minimum number of test cases. Commonly used design methods for test cases include equivalence class division method, boundary value analysis method, cause-and-effect diagram and decision table method, orthogonal experimental design method, logical coverage method, etc.

(4)Execute test

Executing tests is the process of testing according to test cases. This is the most important activity stage of testers. When executing tests, proceed according to the priority of test cases. The test execution process seems simple, as long as the test work is completed according to the test cases, but in fact it is not like this. The number of test cases is very large. Testers need to complete the execution of all test cases. Each test case may find many defects. Testers must record and track tests, measure the quality of defects and write defect reports.

After the submitted defects are modified by the developers, the testers need to perform regression testing. If the system becomes immune to defects in test cases, testers need to write new test cases. Functional testing, performance testing, etc. must be performed at each stage of unit testing, integration testing, system testing, and acceptance testing. This workload is undoubtedly huge. In addition, testers also need to test documentation, such as user manuals, installation manuals, instructions for use, etc. Therefore, do not simply think that performing tests is to complete the task step by step. It can be said that this stage is the most important work stage of the tester.

(5)Write a test report

The test report is a summary of a test activity, a summary of the project test process, statistics of test data, and an objective evaluation of the test quality of the project. Although the test report templates of different companies are different, the key points of writing test reports are the same. Generally, they first give a brief introduction to the software, and then explain that this report summarizes the testing process of the product and evaluates the test quality. evaluate.

A complete test report must contain the following key points.

  • Introduction: Describe the purpose of writing the test report, explanations of professional terms and reference materials appearing in the report, etc.
  • Test summary: Introduce the project background, test time, test location, test personnel and other information.
  • Test content and execution status: Describe the version of the test module, test type, test case design method used and test pass coverage rate, provide evaluation conclusions on the test execution process based on the test pass status, and give the test execution activities Improvement suggestions are provided for reference in subsequent test execution activities.
  • Defect statistics and analysis: count the number and type of defects found in this test, analyze the causes of defects, give suggestions for avoidance measures, and record residual defects and unresolved problems.
  • Test conclusions and suggestions: Conduct an overall evaluation of version quality from multiple dimensions such as requirements compliance, functional correctness, performance indicators, etc., and give specific and clear conclusions.
  • The data in the test report is real, and every conclusion must be based on evaluation and cannot be subjective.

Finally, I would like to thank everyone who reads my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, if you can use it, you can take it directly:

Insert image description here

This information should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can also help you!

Guess you like

Origin blog.csdn.net/NHB456789/article/details/132875264