Learn about the Software Testing Life Cycle

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 Development 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.

The most important STLC phases
The most important 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 criteria:

  • Requirement documents
  • Architecture and design documents
  • User acceptance criterias

Exit criteria:

  • General requirement traceability matrix (RTM) – a document which tracks what requirements can be tested and in what general ways
  • Automation examination – a document that examines in what ways testing can be automated
  • Requirement 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 criteria:

  • Requirements
  • Requirement traceability matrix (RTM)
  • Examination documents formulated during the Requirements phase

Exit criteria:

  • Test plan and strategy
  • Estimations regarding costs and effort
  • Approval 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 criteria:

  • Test plan
  • Requirement traceability matrix (RTM)
  • Risk and priority estimations

Exit criteria:

  • Test data
  • Test cases validated
  • Pass / fail criteria
  • Requirements for test execution

Test execution

After obtaining test cases, test data, and pass/fail scenarios. 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 criteria:

  • Test plan
  • Test data and test cases
  • Requirements for test execution

Exit criteria:

  • Complete test execution environments
  • Executed 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 criteria:

  • Test case reports

Exit criteria:

  • Test execution reports
  • Defects
  • Clarification requests 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 to stakeholders and, most of the times, developers who need to rectify the bugs. Expect a lot of back and forth and plenty of retesting to validate fixes for defects.

Entry criteria:

  • Test reports
  • Defects logged in the appropriate management tools

Exit criteria:

  • Closed defects
  • Test 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 criteria:

  • Test results and reports
  • Validation from stakeholders

Exit criteria:

  • Approval from all interested parties for testing closure
  • Documentation for any future testing activities
  • Reports of the testing process

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.

Leave a Reply

Your email address will not be published. Required fields are marked *