An inseparable part of the life cycle of any software is its testing. The need for testing arises when any changes are made to the source code of the program. Timely detection of errors made by developers significantly saves money and time required to create a software product. All stages of testing are equally important, during each of them the compliance of the achieved result with the terms of reference must be confirmed. At the same time, each next stage of testing can be started only after the successful completion of the previous one.
In total, there are 7 stages of testing.
Stage 1. Work with the requirements of the customer. At this stage, a group of testers gets acquainted with the terms of reference for the created software product. Together with the development team, the completeness, non-intersecting and unambiguous requirements for the project are determined.
Stage 2. Development of a testing strategy. This stage includes:
- analysis of the environment, resources and equipment for testing;
- determination of the types of testing applicable to the project;
- determining the method of maintaining test documentation;
- evaluation of the timing of testing;
- drawing up a work plan for testing.
Stage 3. Creation of test documentation. The purpose of this stage is to develop documentation that describes in detail the sequence of work. Typically, test documentation includes:
- test scenarios (what will be tested and what type of testing will be applied);
- reporting on testing (test results, detected inconsistencies and bugs, the severity of errors made by developers);
- description of the methods used in testing.
The composition of test documentation directly depends on the complexity of the project, so it can vary significantly in different projects. It is very important to timely make all changes to the product documentation and keep it up to date.
Stage 4. Testing. This stage is the longest and most significant in terms of the amount of work carried out. The following actions are performed:
- a general check of the product is carried out;
- smoke testing is carried out (a minimum set of tests to identify obvious errors);
- the planned test scenarios are worked out;
- reports on detected defects are generated;
- the testing goals are adjusted.
The main goal of this stage is to detect the maximum number of defects that can have a negative impact on the system performance.
Stage 5. Preparation of a test report. Summarizing. Test reports are a collection of information materials about the activities carried out and the results of the work done. As a rule, they include:
- assessment of the current quality of the project;
- description of detected defects;
- statistics on defect reproduction frequency;
- evaluation of test effectiveness;
- recommendations for fixing bugs and improving the product.
Stage 6. Retesting. In a broad sense, this stage is intended to detect errors in already tested sections of the source code and allows you to make sure that previously detected errors are successfully fixed. In fact, teams of testers and developers carry out the final refinement of the product to the ideal vision of the customer.
Stage 7. Acceptance testing. This stage of testing is the final one before the release of the product. The purpose of acceptance testing is to determine the readiness of the product, which is achieved by passing test cases and test cases that are built on the basis of the requirements specification for the software being developed. Acceptance testing can result in:
- sending the project for revision;
- acceptance of the project by the customer as a completed task.
Each stage of testing is important in its own way and is part of a complex process, the quality of the product being developed directly depends on the thoroughness of which. The detection and elimination of each defect directly affects the performance of the program, user convenience and reliability of the functionality.