Software testing life cycle
- March 12, 2019
Software Testing Life Cycle (STLC): Step by Step Guide
Software testing life cycle (STLC) is a set of actions that are performed coherently and on a systematic and planned basis in order to find out if a software product works properly and if there are any options to improve it. All stages of the software testing cycle have an exact purpose and require the presence of the specialist with a solid technical background.
Let’s see what is STLC represents and how many components does it include. In general, there are 8 phases of the testing procedure, which comprise 3 tasks: preparation for the execution, execution as itself, conclusion. Conclusion part is momentous as software testing concepts envisage that every executed test has to help in solving future bugs.
Entry and exit criteria for testing
Every phase of STLC (except Requirements phase, as it is a zero-level stage) requires entrance and exit criteria. The entry criteria represent a range of prerequisites that must be met before the test process can be launched.
Exit criteria for testing is a set of general and specific conditions that must be met before testing should be finished. Basically, these test criteria are the objectives and goals that have to be achieved during the running of the test.
As a complex process, that includes numerous steps to be made, STLC is separated into several phases. This approach helps to optimize time spending and maximize reliability. So, the phases go like this:
The very first step in a whole QA life cycle where a test team defines how exactly the final product should behave in accordance with stakeholders requirements. Collecting of this information helps to optimize workflow process under the project starting from the beginning. Within this phase, the team defines types of tests to be performed and the environment where it expected to be carried out.
The second step within STLC is planning phase which includes defining of requirements for tests, estimation of risks which may arise under proper procedures, choosing of Test Strategy, scheduling and defining of sequences, and creation of Test Plan. Here, the objectives and scope of the project are determined too in order to calculate total effort and cost for the project.
Entry criteria: Requirement documents;
Exit criteria: Test Strategy, Test Plan, Test Effort Estimation Document.
This step is performed for an exact definition of what procedures at all further software testing phases need to be carried out. In order to make a comprehensive list and take into account all the necessary conditions that have to be provided, the team has to dive into all aspects of the project and consider all details precisely. This process is very important as it has a direct impact on the success of fulfillment of the next phases.
Entry criteria: Requirement documents;
Exit criteria: Test Strategy, Test Plan.
Another common name of this stage is the Test Case Development phase. As you may guess, at this point team forms all test cases needed to be done. A simple example, test on User login into a system with valid/invalid data entered. Dependently on stakeholders requirements, proper cases are being created. Tests can be designed for black-box testing, as well as for white-box. It is important to create a sufficient list of cases which will cover all necessary fields. If applicable, scripts for automated tests written in this phase too.
Entry criteria: Requirement documents, Test Plan;
Exit criteria: Test Cases, Test Scripts (if automated), Test Data.
This is a final step before the execution stage. It is necessary to make sure that all needed prerequisites are adjusted. Test manager has to check if the environment is set up and has a correct configuration in accordance with a guideline that was written for this project. Basically, at this stage, the manager is checking out if everything is ready for execution. He also assigns who is responsible for each part of tests, and estimate the time necessary for all procedure.
Entry criteria: Test Plan; Smoke Test Cases, Test Data;
Exit criteria: Test Environment, Smoke test results.
According to the Test Plan and test cases that were developed at previous steps, proper tests are executed. When a bug is detected, specialist marks it with a due status (failed, blocked, not run etc.) and assign an ID for all of them. After fixing all the bugs, the team executes tests again in order to see if everything good, as fixing at one place may cause an appearance of a bug in another one. When the build is ready, it’s time for Conclusion Phase.
Entry criteria: Test Plan, Test Cases, Test Data, Test Environment;
Exit criteria: Test Case Execution Report, Defect Report.
As its name suggests, at this pre-final stage of STLC, all executed tests and their results are documented, as well as failed cases and their defects are logged. Aggregated information is sent to the team leader on a weekly or monthly basis, afterward he analyses or review it and prepare it for closure report.
Entry criteria: Test Case Execution Report, Defect Report;
Exit criteria: Prepared Closure Report.
When everything is done, the team organize a meeting, where they underline key moments, discuss the new possible ways to avoid similar failures in the future, and prepare metrics for the project (e.g. total time spent, costs, quality, test coverage and etc.). All useful information is recorded and documented, so if resembling bug will take place in future, the tester could fix it quickly.
Entry criteria: Prepared Closure Report;
Exit criteria: Test Closure Report, Test Metrics.