STLC (Software Testing Life Cycle): Phases, Entry & Exit Criteria

STLC (Software Testing Life Cycle): Phases, Entry & Exit Criteria

#general

📅  22 Jan 2023 |   6 min read

The Software Testing Life Cycle (STLC) describes the sequence of activities for all quality assurance efforts. From analyzing the requirements, to executing the test cases and providing final metrics, it covers a lot of things.

We've already talked thoroughly about the Software Delivery Life Cycle (SDLC) previously and we now go in-depth with the Testing sequence. As you'll see in this article, the Testing phase has its own life cycle, with entry and exit criteria for every one of them. As such, let's jump right into the cycle and see just what QA specialists need to know.

What is the STLC? 🤔

You may think that during the testing phase of the Software Development Life Cycle, you just start using the application and report errors. You would be wrong, however.

Thinking that testers just push buttons and see what happens is a very naive way of thinking about the quality assurance process. Instead, to get the best results, you need to follow a plan, which is the STLC. Using this process, you start from the very beginning of a software's creation by studying the requirements and identifying how best to test the end result. After going through all the steps, you then reach the end of testing, where you document everything and showcase all the work that's been done.

STLC Phases 🔃

You'll find quite a few variations on the STLC on the web but we're going to cover the seven most important phases that must happen if you want a great QA process.

We will also talk in every phase about the entry and exit criteria, which are things that must be accomplished so that the process can begin and end successfully.

STLC Phases

Requirement analysis

Every piece of software begins with a requirement. The specification is then given to software developers, who go through their own SDLC. This is also where testers can start making an impact, as they can analyze the requirement and identify what is testable and in what ways.

Entry criteriaExit criteria
Requirement documentsGeneral requirement traceability matrix (RTM) - document to track what requirements can be tested and in what general ways
Architecture and design documentsAutomation examination - document that examines in what ways testing can be automated
User acceptance criteriasRequirement defects - defects regarding the requirements that should be discussed

Test planning

Once you know what you are going to test, it's time to make a plan. The Test plan establishes the effort needed for the QA process, both in terms of money as well as people needed. You highlight what activities you will do (functional/automated/etc.), what tools you will use, what external resources you will need, and even possible training and knowledge transfer that is required for the team.

Entry criteriaExit criteria
Requirement traceability matrix (RTM)Test plan and strategy with estimations regarding costs and effort
Examination documents formulated during the Requirements phaseApproval from stakeholders (management, business, development)

Test development

Here, the actual test cases start being created. Based on the test plan, you now know what you're testing and how. Now, it's time to start covering the requirements and the actual functionality of the application with tests. Besides actual test cases, you also create test data and start establishing pass and fail criteria.

Entry criteriaExit criteria
Test planTest cases and test data validated
Risk and priority estimationsRequirements for test execution with approved pass/fail criteria

Test execution

After obtaining test cases, test data, and pass/fail criteria. and it's now time to execute them. First, you start to create your test environments and then do all of the prerequisite actions, from installing the application to setting up external resources. Then, it's time to run the tests developed in the previous phase.

Entry criteriaExit criteria
Requirements for test executionComplete test execution environments
Test data and test casesExecuted test cases

Test reporting

After finally executing your test cases, it's time to see how they performed. In the reporting phase, you analyze what how the application performed during the tests and check for inconsistencies. Based on the reports, you start logging defects and seeking clarification to refine the test cases.

Entry criteriaExit criteria
Test case reportsTest execution reports
Test evidenceDefects and requests for clarification for stakeholders

Defect management

In this step, after the test case execution and reporting, it's time to manage the defects that were raised during the reporting phase. Here, testers clarify issues encountered with stakeholders and, most of the times, with developers who need to rectify the bugs. Expect a lot of back and forth and plenty of retesting to validate fixes for defects.

Entry criteriaExit criteria
Defects loggedClosed defects
Test reportsTest performance metrics

Test closure

Since all the defects have been resolved and the metrics established, it's time to close the test activity. During this phase QA specialists document all the steps they've gone through, publish the results and give the go-ahead for any further steps.

Entry criteriaExit criteria
Test results and reportsDocumentation for any future testing activities
Validation from stakeholdersApproval from all interested parties for testing closure

Conclusion 🏁

The Software Testing Life Cycle (STLC) may seem pretty complex but, in reality, it's a straightforward process. The phases roll neatly into one another and, as long as you keep track of your efforts, as well as the essential entry and exit criteria, you shouldn't have any issues in your testing stages.