Software Testing Life Cycle(STLC) - Phases of Software Testing

Software applications and products are developed as per the client's requirements by the development team. The ultimate goal of any software development is client satisfaction and delivery as per the client's requirement and with quality. Testing helps to evaluate the application, system, or product with the client to check if it meets the specified requirements.

Table of Content - Software Testing Life Cycle

What is Software testing

Software Testing is a process for identifying errors, bugs, defects, gaps, or any missing requirements as compared to the actual requirements given by the client. Software testing is an important aspect of software development.  A software testing life cycle is not an isolated activity. It is a series of actions performed during the testing phase of the SDLC to confirm that the software or the product meets the quality goals. The importance of testing in SDLC is to identify all the errors and bugs in an application or software by improving its performance and enhancing reliability.

If you want to enrich your career and become a professional in Manual Testing, then enroll in "Manual Testing Training" - This course will help you to achieve excellence in this domain.

Types of Software testing

A tester performs two types of testing to eliminate bugs/errors. Broadly, there are two types of testing - functional and non-functional. 

Functional Testing

Functional testing is performed to test the functional aspects of a software application. Every function should be tested to verify if the functional requirements are met. There are various types of functional testing.

  • Unit testing
  • Integration testing
  • Regression testing
  • Sanity Test
  • Smoke test
  • Interface testing
  • System test
  • Acceptance testing/Beta testing

Non-Functional Testing

Non-functional testing is done to test the performance, reliability, security, and usability of the application. This testing helps to improve the quality of the application. Non-functional testing is performed using certain tools and not done manually.

  • Performance Testing
  • Load Testing
  • Stress Testing
  • Volume Testing
  • Security Testing
  • Compatibility Testing
  • Install Testing
  • Recovery Testing
  • Reliability Testing
  • Usability Testing
  • Compliance Testing
  • Localization Testing
  • Alpha testing

Mindmajix Youtube Channel

What is Software Testing Life Cycle (STLC)?

The software testing life cycle is a part of the software development lifecycle (SDLC) which only deals with the testing aspects. Software Testing Life Cycle (STLC) is a critical phase in every organization which deals with software development or product development. It is done by the testing team to ensure the software or product is as per the quality standards. The testing life cycle has a series of steps or stages.

These phases or stages may differ from organization to organization.  A tester can choose the testing type based on the software application or the product under development. The application or the product should meet the quality standards as specified by the client. 

Blog post image

Entry and Exit Criteria in STLC

Software Testing Life Cycle is a series of tests conducted during the STLC. The testing cycle has various stages. Each stage has certain entry and exit criteria.  The criteria have some activities and deliverables associated with them.

Entry criteria:

The entry criteria define all the prerequisites to be completed to start a test phase. In the entry criteria, all the source codes go through unit testing. The quality assurance professionals have sound functional knowledge of the product/application/ software developed. The test plans and test cases should be studied. The application hardware and software should be in place. All the testing tools should be installed successfully. A proper testing environment must be there. Testers should know the workflow.

Exit criteria:

The exit criteria define all the prerequisites to be completed before completing testing in a specific phase. All the deliverables should be ready for meeting the exit criteria. There should not be any defects/errors/bugs. All the high severity and high priority errors are fixed.

Phases of the Software Testing Life Cycle(STLC)

The different phases of the Sofware testing life cycle are

Generally, the stages in an STLC are requirements analysis, test planning, test case development, test environment setup, test execution, and test cycle closure.

#1. Requirement Analysis Phase

Requirement Analysis is the first stage in the STLC. In this stage, the testers identify all the testable requirements. The quality assurance professionals will interact with all the stakeholders like system architects, end clients, business analysts, etc. to understand all the requirements in-depth.

Once the requirements are identified and specified, they should be categorized into functional and non-functional tests. Testing priorities should be defined.

  • Entry criteria: In the requirement phase, the software requirement specification (SRS) should be done. A review defects document should be the starting point to analyze the requirements for testing. The quality assurance team analyzes the test parameters, what to test and how to test using testing methodologies. Different testing methods are applied based on functional or non-functional specifications. The application/software architecture report is also required.
  • Exit criteria: The exit criteria in the requirement analysis stage consists of a requirement traceability matrix (RTM) document. The RTM document validates that all the requirements are checked with test cases in testing.

#2. Test Planning Phase

Test Planning is the next phase in the software testing life cycle. Once what needs to be tested is determined, the quality assurance professional will prepare a test plan. The senior quality assurance professional will prepare estimates for work (time and cost) and determine a test strategy.

  • Entry criteria: The entry criteria in the test planning phase will be the requirements traceability matrix and the requirements document. A test automation feasibility document is applicable is also needed.
  • Exit criteria: The exit criteria are the test plan document, test strategy document, test effort for time and cost document, resource planning document.

#3. Test design/Test Case Development Phase

The Test design phase is the next in the STLC. In the test design phase, test cases and test scripts are developed. The test data is gathered. The requirements traceability matrix has to be updated with which test should be conducted with which script and test case.

  • Entry criteria: The entry criteria into test case development or test design phase is the test plan and test strategy document which is duly completed. The resources will be allocated and the resource planning document will be updated. An automation test analysis report will also be created.
  • Exit criteria: All the test cases and test scripts are analyzed, reviewed and a baseline is created.

#4. Test Environment Set-Up Phase

After test cases are designed and developed, the Test Environment is Set Up. The software and hardware are determined to test the application or product. The test environment setup can be done parallelly with the test case development. Alternatively, the client-side can provide the test environment by providing the required hardware and software.

  • Entry criteria: In this phase, the test plan, smoke test cases, and information on test data are the entry criteria. Application design and system architecture documents are also created in this phase.
  • Exit criteria: To move ahead to the next stage, a smoke test results document and environment setup document with updated test data are required.

#5. Test Implementation/Execution Phase

All the errors, bugs, and defects are tested based on the test plans in the Test Execution Phase. The test scripts and test cases are used. The defects are mapped to the test cases in the requirements traceability matric (RTM)All the errors/bugs/defects will be reported back to the developers for fixing and once fixed, retesting is done. The requirement traceability matrix is updated.

  • Entry criteria: The entry criteria in the text implementation phase are the test environment setup document, test cases, test plan document, and test data document. A unit testing report, integration report, and system test reports are created.
  • Exit criteria: After the accomplishment of the execution, a test execution report is created, a detailed defect report which reflects the closed defects, the test cases used, the identified defects will be reported to the development team 

#6. Testing Closure Phase

The Test Closure Phase is the last stage in the STLC. In this stage, all the functional and non-functional tests are completed and closed. In this final stage, the testing team will analyze the testing activities done in each phase. The lessons learned in each phase will be documented for future testing activities on similar applications in future.

  • Entry criteria: In this last stage, test execution report, defects report will be the entry criteria
  • Exit criteria: The exit criteria in the last phase test closure report to be presented to the client, test metrics report, test closure report approved from the client.

Conclusion:

An STLC is an integral part of the SDLC. The phases mentioned are applicable in most organizations. The sequence of the phases can be one after another or some phases can run parallelly. Once the STLC is successful, only then the application or the product can be installed or deployed. Hence, STLC is a critical phase of the SDLC.

Course Schedule
NameDates
Manual Testing TrainingOct 15 to Oct 30View Details
Manual Testing TrainingOct 19 to Nov 03View Details
Manual Testing TrainingOct 22 to Nov 06View Details
Manual Testing TrainingOct 26 to Nov 10View Details
Last updated: 03 Apr 2023
About Author

Madhavi Gundavajyala is a Content contributor at Mindmajix.com. She is passionate about writing articles and blogs on trending technologies, project management topics. She is well-versed on AI & Machine Learning, Big data, IoT, Blockchain, STLC, Java, Python, Apache technologies, Databases. 

read less