Stages in the Software Testing Process

Numanhan Duran
4 min readJan 16, 2022

In this week’s topic, we have now entered the test, but I would like to talk about what kind of stages await us in this process.

Stages in the Software Testing Process

While living our normal lives, doing a job, going on vacation and all similar processes, actually progress in stages. The software testing process also progresses through the SDLC (Software Lifecycle) stages and evaluations of these stages. If our tea is ready, let’s talk about these stages.. :)

Planning and Control

We have to make a plan and review this plan when starting any business, stepping into a process. Thus, we will carry out the process that we will carry out within our plan and control in a healthier and more appropriate way.

The planning phase in the software testing process provides the determination of the test mission, objectives and activities. We can think of this plan as our roadmap when embarking on a journey.

Here, the test control phase includes reporting the deviations from the test plan and taking the necessary measures for the problems that may arise from these deviations. At the same time, control can be done at each test stage, there is no before or after. As a result, we must plan our testing process, and by controlling this plan, we can prevent possible problems by catching possible deviations and have a healthier process.

Analysis and Design

The documents to be tested (analysis documents, software integrity level, risk reports, architectural design, interface) are reviewed. The testability of test objects is evaluated. This analysis is an important step in terms of providing us with the integrity of the idea for the testing process we are in. We can define and prioritize our test conditions according to our analysis. Our priorities will also help us identify our critical points and the level of our risks throughout the software testing process.

At this ongoing stage, the necessary test data are determined to support our test scenarios. We set up our test environment and create a traceability between tests and tasks. After making our analysis, we design the test we will do. We can say that the analysis and design phase creates a sketch or guide for the testing process.

Implementation and Execution

We made our plans, we carried out our controls, after the necessary analysis and designs are made, we can now turn the designs we have created at this stage into test cases. We create the test environment and test scripts and put them into practice. Regression tests are performed until the bugs are fixed. We also execute test procedures manually or using test automation tools in the planned order.

After following our procedures, we compare the results we expect during the analysis phase with the actual results. Results that do not come out as we expect will bring inconsistency. We report these inconsistencies and then analyze them to find the cause. After the analysis is done, we investigate the root causes of the bugs, and we ensure that each bug is re-tested after redevelopment.

We have to analyze the impact of the fixed bugs we found after development and before re-testing. In other words, we must check whether the fixed bug affects another place or poses a risk at the point it affects.

Evaluating Exit Criteria and Reporting

At this stage of the testing process, we control whether the mission and objectives set in the planning have been achieved. The test results are evaluated according to the exit criteria specified in the planning.

  • Tests must be 100% run.
  • 100% in high priority tests,
  • 90% in medium priority tests,
  • Low priority tests require 50% harness.

At least 70% passed rate must be ensured, 1st and 2nd degree critical errors must be fixed by the software team. Afterwards, it is ensured that decisions are made whether more tests are required or whether the exit criteria should be changed. Summary reports are shared with the management and stakeholders, and the process begins to move towards the closure.

Test Closure

Now we have completed all the stages in a healthy way, test runs have been provided, errors have been corrected, risks have been eliminated as much as possible and the test has come to the final stage. The results of the terminated tests are combined and the decision to close the test project is made, and the documents and test scripts related to the closed test are archived for use in other tests.

If a similar process is waiting for us in the next test period, we can benefit from our previous test project and provide a roadmap for us at all stages. Let’s add our tests, analyzes and reports to our archive so that similar works may be waiting for us in the future.. :)

--

--