What is software testing life cycle (STLC)?
So, what is software testing life cycle (STLC)? Simply, STLC is a process of examining software to make sure the software works. STLC includes steps that verify and validate that the software meets requirements. Many might believe STLC happens at the end of the software development process. However, STLC is actually an integral part of the entire software development project.
How can Software Testing Life Cycle (STLC) help a software development team?
First off, STLC helps teams to define goals. Using Software Testing Life Cycle a team will define requirements and goals for each part of the project. STLC lets teams perfect the Agile testing process for maximum efficiency. Using STLC a team confirms that features work before adding new features. STLC also enables teams to define time limits for each phase of the project.
What are the advantages of using Software Testing Life Cycle (STLC) ?
Testing happens earlier in the project. This means the team creates tests that really work. STLC also aids teams in creating concrete feature specifications. By setting up testing as part of the Software Development process teams can test faster and find trouble sooner. STLC framework also helps teams keep track of their progress; goals and milestones are precise and clear.
What are entry and exit criteria in the Software Testing Life Cycle framework?
Entry criteria are the prerequisites that must be in place before testing can begin.
Exit criteria are requirements and metrics that the team must meet before the conclusion of a test or phase.
What are the six phases of STLC?
STLC contains six distinct phases:
- Requirement analysis
- Test planning
- Test case development
- Test environment setup
- Test execution
- Test cycle closure
Let’s break it down and examine what happens in each phase of the software testing life cycle:
Phase 1 – Requirement analysis
In this phase the team will brainstorm and gather information. The development team will assess which tests to perform later. They will also need to map out which features are testable. The team will also decide which parts of testing will be automated.
Entry criteria: proposed product architecture, requirements and metrics
Exit criteria: Requirement traceability Matrix (RTM) and automation feasibility report
“A traceability matrix is a document, usually in the form of a table, used to assist in determining the completeness of a relationship by correlating any two baselined documents using a many-to-many relationship comparison.” Wikipedia
Phase 2—Testing planning
Testing planning is the most important phase. The team will lay out a roadmap of future testing. The test planning document that the team writes up will guide the process. The team will share this document with the entire team: project managers, scrum masters, developers, designers and especially the QA (Quality Assurance) team.
In the planning phase the team will lay out metrics and decide how to gather them. They will also lay out requirements. But it’s not just about requirements. The team must plan a test strategy and analyze risks. To recap, planning involves:
- finalizing requirements gathered in phase 1
- laying out the test strategy
- analyzing and mitigating risks
Entry criteria: Requirement traceability Matrix (RTM), automation feasibility report and requirement analysis
Exit criteria: a complete test plan, including timelines, costs and risk analysis
Phase 3 – Analysis
The team defines precisely what they will test in the Analysis phase. They will also determine the depth to which they will test. They will write out detailed test conditions. The team will also identify the exit criteria for testing, the conditions which will force the team to stop testing. For instance, if the software development project is for a contact list application, the tests might include “add new contact” and “add photo.” The team might go even further and test for errors that would appear if the user uploads the wrong file type.
Entry criteria: a complete test plan, including timelines and costs
Exit criteria: risk analysis report, revision of test plan
Phase 4 – Test environment setup
In phase four the team decides how they will perform the tests. They define test conditions, setting up the test environment. The team will identify and gather the data they will test for later. In this phase the team might set up test servers.
Entry criteria: design and architecture of the systems, definition and explanation of test plan
Exit criteria: functioning test environment and ready test cases
Phase 5 – Test Execution
Showtime! Test execution is where the team gets to shine. They will execute test as they laid out in the planning phase (phase two). The development team will document their test results. They will map out and track defects. This is also the time to identify bugs.
Entry criteria: all previous steps have met exit criteria
Exit criteria: all test completed; test reports created
Phase 6 – Test cycle closure
In the final phase of the Software Testing Life Cycle the development team create a report. The report details bugs and defects. The team will document the testing process. They will explain results of their work. The team will compare actual results with expected results. The report the team creates should take audience into account. If the target audience is the engineering team the reporting should be technical; if the target is the company’s business development team, much less so.
Entry criteria: test results logged and collected
Exit criteria: test reports generated and distributed
STLC lets teams organize their testing workflow. Testing, which can be an untidy business, it becomes efficient when following STLC framework. STLC lays out the steps and phases so the teams can test better. STLC focuses teams so that testing becomes predictable and easy to navigate.
At Blocshop we believe in the power of the Software Testing Life Cycle (STLC) framework. In an Agile-structured team STLC is a potent way of organizing testing. Our software development teams using STLCunderstand their work in a complex and deep way. We use STLC to create projects with stable and sure results. Please get in touch if you have a software development project, we can show you the benefits of STLC.