Reading time: 4 minutes
PUBLISH DATE: Mar 16 2022
UPD: Jan 25 2023
Reading time: 4 minutes
QA

Software Testing Life Cycle (STLC): The Circle of Life

Software Testing Life Cycle is a testing process involving 6 stages. In this article, we covered all STLC phases and explained their essence in the software project success. 

Software Testing Life Cycle (STLC) The Circle of Life

I’m almost a hundred percent sure that, once you hear the phrase “the circle of life”, you immediately recall the good old movie “The Lion King”. You might have wondered why I decided to use these words in the article title. I’ll tell you everything later. First, let me start with the following:

  • What is software testing?
  • What is a software testing life cycle, and what stages does it consist of?

What is Software Testing?

Software testing (also referred to as Quality Assurance) is the process of checking software quality: its performance, reliability, and adherence to project requirements.

According to TEST INSTITUTE, “Software Testing is the Science and Art of delivering Software Products and Solutions to the end-customers with utmost possible Service Quality and with minimal interruption in Business Processes and Services.”

Overall, QA specialists make sure that the software solution meets predefined functional and non-functional requirements and eliminates any software defect.

What is Software Testing Life Cycle?

Software testing life cycle is a continuous and consistent process of Quality Assurance; it is the flow of a testing process. There aren’t many different types of software testing life cycle – just two, actually. Usually, the life cycle model in software testing involves a set of 6 steps that need to be completed for a certain feature or the product, in general, to be considered as tested. Sometimes, the sixth stage is omitted.

Entry and Exit Criteria in the STLC

STLC phases involve entry and exit criteria. The entry criteria refers to the conditions that should be addressed before performing the test. In other words, this criteria is closely related to the purpose of the test. Exit criteria, in turn, relates to the conditions that should be taken into account before the test is completed. Each of the stages of the QA life cycle listed below has entry and exit criteria.

6 Key Software Testing Life Cycle Phases

There are 6 stages of the QA life cycle:

  1. Requirement analysis
  2. Test planning
  3. Test case design
  4. Test environment setup
  5. Test execution 
  6. Test closure

Requirement analysis

Entry criteria: A certain part of the project scope needs to be implemented, the Requirement Specification and Acceptance Criteria need to be available.

Requirement analysis is the first stage of the software testing life cycle. The goal of this STLC is to identify all the requirements that must be tested during this particular cycle. 

At first, a Quality Assurance specialist prepares a list of questions about requirements to be tested. Then, they consult with the development team and a Project Manager, Product Owner, Business Analyst – whoever understands the requirements best. The goal of this consultation is to perfectly understand a particular functional or non-functional requirement. For instance, they clarify how fast the app should load or how the login process should be organized. After all, they define testing strategies.

Exit criteria: The Quality Assurance team understands the requirements, the list of testable requirements is prepared.

Test planning

Entry criteria: A summary of the requirements to be tested must be prepared.

A well-known saying has it “Measure Twice, Cut Once”. Indeed, planning is integral to project success. Test planning is the second stage of the software testing life cycle. The goal of the given STLC is to formulate a strategy according to which a certain requirement will be tested. The QA specialists of the QA team lead has to:

  • analyze requirements gathered at the previous stage, 
  • list testing types that will be applied,
  • select testing tools,
  • list the deliverables,
  • define risks,
  • compile a testing timeline, 
  • assign testing tasks to the team.

Exit criteria: The testing plan is created; the following questions are answered: what will be tested, by whom, when and how long, and what resources are needed?

Test case design

Entry criteria: A summary of the requirements and a test plan have to be prepared. 

Test case design is the third stage of the software testing life cycle. This STLC is aimed to have test cases prepared. Basically, if test planning formulates a strategy, test case development formulates a tactic. Test cases are created on the basis of various techniques of test design (Equivalent Class Partitioning, Boundary Value Analysis, State Transition, Pairwise Testing, and Error Guessing).

A Quality Assessment specialist has to create test cases: 

  • assign a unique ID,
  • name a test case,
  • outline testing steps,
  • outline the expected results,
  • leave sections for status, actual results, and comments.

Exit criteria: Test cases have to be prepared.  

Would you like to learn more about how test cases and other QA documents are written?

Check our article “How to Write QA Documentation That Will Work?”. The explanations we offer are simple, and the examples are super clear.

 

Test environment setup

Entry criteria: A test plan should be ready.

The environment setup is the fourth stage of the software testing life cycle, which, however, can be conducted in parallel to test case development. The idea of it is to prepare the test environment: servers, hardware product, software product, and test data. Once the testing environment is prepared, a testing team conducts smoke testing to make sure that everything works as it should.

Exit criteria: The test environment needs to be set up and checked.

Test execution

Entry criteria: Requirements specification, test plan, test cases, and test environment are provided.

Test execution is the fifth stage of the software testing life cycle – the stage where all the magic happens. Here, according to a test plan, a QA specialist executes test cases in a certain test environment to check if the requirements outlined in the first stage are met. At this point, each test case has a status identified: 

  • passed – the test case is completed successfully;
  • failed – the test case is completed unsuccessfully;
  • in progress – the test case is not completed yet;
  • blocked – the test case can’t be completed because of some bug or error.

For all the identified bugs, a QA compiles a report on defect distribution.  After all the identified bugs are fixed, QA specialists recheck them – this continues until all the errors are solved.

Exit criteria: Test case report has to be compiled.

Test closure

Entry criteria: Test case report is provided. 

Test closure is the final stage of software testing. Here, the QA team analyzes the software testing life cycle, evaluates their own performance, and prepares a test closure report. It may feature mistakes that need to be avoided in the future or best practices that can be reused.

Exit criteria: Test closure report has to be compiled. 

STLC – The Circle Of Life

Now it is finally the time for me to explain why I mentioned “The Circle of Life” from The Lion King. There are two reasons for that, so let me show you.

Software testing is a never-ending circle (it does end only when the app is delivered). All the five stages mentioned above should be repeated over and over again in order to ensure that the software solution is reliable, performant, and bug-free.

STLC – The Circle Of Life

Once you complete the cycle of unit testing, you proceed to integration testing. When this cycle is completed, you start a new one for the system testing. If this is over as well, you launch an acceptance testing cycle. Each time a new feature is added, you have to start with user testing again. You go circles and circles to make sure that the app is impeccable.

Do the terms “unit testing”, “integration testing”, “system testing”, “acceptance testing” confuse you?

Look through my recent article “How to Find Your Way Around Different Types of Software Testing?” to find out more about these and other software testing types and life cycle models in software testing.

Unless the application, should it be web or mobile, is properly tested, it can’t be delivered to the end-user. A software solution that lacks proper software testing definitely contains bugs. In the best-case scenario, the app layout would be flawed, and images or text blocks would overlay. In the worst-case scenario, sensitive user data would be leaked. 

Today’s software market is so overcrowded that it seems like you can’t have a single error in your web or mobile app. According to Statista, at the end of 2019, there were about 2,570,000 apps on Google Play and 1,840,000 apps on the App Store. The WebsiteHostingRating states that there were 1,744,517,326 websites online as of January 1st, 2020. Still, the main aim of testing is to minimize errors, gaps or missing requirements. Testing all cases might not be always possible, and so, minor errors might remain.     

Anyway, If you want your business to soar to the stars (of course, you do), your app has to succeed. For your app to live and flourish, you have to test it abundantly. 

To Wrap Up

In this article, we have concluded that proper software testing is integral to software project success. The software testing should follow a certain procedure – six steps, each with predefined entry and exit criteria:

  1. Requirement analysis
  2. Test planning
  3. Test case design
  4. Test environment setup
  5. Test execution 
  6. Test closure 

These steps comprise a software testing life cycle – a circle, which repeats over and over again until the app perfectly meets all the requirements and is ready to meet the client. And this process is integral – without it, you are bound to lose the trust of your users.

Do you need Quality Assurance services?

Let our professional QA team help you solve your software issues. Learn more about the development and testing services that we offer.

Rate this article!
5/5
Reviews: 5
You have already done it before!
Start growing your business with us

Get ready to meet your next proactive tech partner. Tell us about your project, and we'll contact you within one business day, providing an action plan

Only for communication
By submitting, I agree to Keenethics’ Privacy Policy.
Daria Hlavcheva
Daria Hlavcheva
Head of Partner Engagement
Book a call
What to expect after submitting the form?
  • Our Engagement Manager will reply within 1 business day.
  • You'll receive an optional NDA to sign.
  • We'll schedule a call to discuss the action plan.

Our Projects

We've helped to develop multiple high-quality projects. Learn more about them in our case study section

BankerAdvisor - Investment Banking Tool
  • Business
  • Finance & Banking

Find the best investment banking option.

Case studies
Attendance
  • Business administration

Tracking schedules and salaries of the Keenethics team

Case studies
Brainable
  • Business
  • E-commerce
  • Education
  • Entertainment

A brain-training website helping you discover what your mind can do.

Case studies
StoryTerrace Bookmaker
  • Business
  • E-commerce
  • Education
  • Entertainment

Book publishing platform helping you create your own book online with a competent in-house editorial team.

Case studies
Check out our case studies
Case Studies
GDPR banner icon
We use cookies to analyze traffic and make your experience on our website better. More about our Cookie Policy and GDPR Privacy Policy