When it comes to software development, all testing activities can be divided into several stages. Similar to the software development life cycle (SDLC), there is also a software testing life cycle (STLC). Following all of the stages can be crucial to getting the process right and translate into much higher efficiency of the performed tests and, as a result, a much higher quality of the final product. Read on to find out more.
6 phases of STLC – table of contents:
- Phase 1: Requirement analysis
- Phase 2: Test planning
- Phase 3: Test case development
- Phase 4: Environmental setup
- Phase 5: Test execution
- Phase 6: Test closure
- 6 phases of STLC – summary
Phase 1: Requirement analysis
This is the first step in the cycle. The test team carefully reviews the product requirements. If there are any conflicts, omissions, inaccuracies or misunderstandings, the test team discusses them with various project stakeholders, such as the business analyst or software architect.
Entry criteria:
- Business Requirement Specification (BRS)
- a software architecture document
Tasks to do:
- determine the tests to be performed
- set priorities for test execution
- check which tests must be manual, and which must be automated
Exit criteria:
- a list of requirements for testing
- any tests to be automated
Phase 2: Test planning
At this stage, the validation team plans all testing activities by writing a test plan. This document specifies:
- the objectives to be achieved
- the processes and methods to be implemented
- the environment and tools to be used
- the elements to be tested or not tested
- the organization of the team and the division of tasks,
- intermediate goals for various activities
- risks that may arise
Apart from developing the test plan, a cost estimate is also drawn up in this phase.
Phase 3: Test case development
In this phase — also known as Test Design — there are four steps to follow:
1. Prepare test scenarios
The test manager or test leader prepares a test scenario which will be used to create test cases.
2. Create test cases
For each scenario, testers will write test cases so that they can verify that the software functionality meets its requirements. In the case of test automation, it is at this stage that test scripts will be written.
3. Prepare test data
The test team needs to prepare a set of data to be used when executing test cases. This can be positive or negative data to test the function’s performance in the case of correct, or incorrect data.
4. Prepare RTM
The test team prepares a key Requirement Traceability Matrix (RTM). This document is used to keep track of what tests are needed to verify whether requirements will be met or not. Before testing begins, stakeholders will conduct checks and validations of what was developed during the above activities.
Phase 4: Environmental setup
This is a phase in which the test team is not involved. A separate team will handle the preparation and configuration of the environment. Testers will be informed how the environment has been set up and which software version is up to date.
The only activity required of the test team is to prepare smoke tests to verify that the installed build is suitable for testing. If the smoke tests fail, the build will be rejected and testing will be suspended until the indicated problems are fixed.
Entry criteria:
- test plan
- test date
- smoke test
Tasks to do:
- test environment preparation
- test environment setup
- setting up test data
- executing smoke tests on compilation
Exit criteria:
- usable test environment
- usable test data
- positive smoke test results
Phase 5: Test execution
This is simply the execution of tests. During this phase, testers can identify possible anomalies and test the improvements developed by the programmers. The tasks of the testing team will be:
- run the previously developed test cases and compare the expected result with the obtained one
- maintain the test script
- identify, detect, log and report any detected defects
- retest the defect fixes
Entry criteria:
- functioning test environment
- correct test data
- test plan
- test cases to be executed
Tasks to do:
- perform tests according to the test plan
- document test results
- manage the defect life cycle
Exit criteria:
- executing all tests involving the MTR
- updated test cases with results
- defect reports
Phase 6: Test closure
The software will be implemented. The validation team meets to analyze the results and identify areas for improvement in future projects.The test manager prepares a test closure report, which will be done on a daily (DSR – daily status report) or weekly (WSR – weekly status report) basis, as agreed by the stakeholders.
In the end, the test team meets to analyze the test cases, defects found, time spent, compliance with deadlines, etc. In this way, it is possible to determine what needs to be improved in the next test cycle.
Entry criteria:
- test execution reports
- defect reports
Tasks to do:
- analyze what has been tested
- create a test closure report
Exit criteria:
- closing the process without open defects
- test closure report
6 phases of STLC – summary
Software development could not exist without a testing phase. Proper preparation for this process brings a number of benefits, including, most importantly, saving time and money for possible future revisions. We hope this article helped you learn more about software testing life cycle (STLC).
You’ve just read about 6 phases of STLC. Check out our other series about Python and Javascript!
If you like our content, join our busy bees community on Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest.