Software Testing Life Cycle (STLC)
The software testing life cycle (STLC) is the ordered set of test activities a team goes through for a release, a sprint or a test level: understand what to test, plan it, design and prepare the tests, set up the environment, execute and manage defects, and close the cycle with a report and lessons learned. Each phase consumes inputs, produces work products and has criteria that say when it may start and when it is done.
This guide walks through each phase with the tasks a tester actually performs, realistic entry and exit criteria, typical outputs and the mistakes that make a cycle fail, and maps the industry’s STLC phases to the test process described in the ISTQB CTFL v4.0 syllabus and ISO/IEC/IEEE 29119-2.
What the STLC is — and what it is not
The STLC is a model of test work, not a calendar. In a sequential project each phase may take weeks and they run largely in order; in a two-week sprint all six happen for every story, often within days, and several overlap. The phases are logically ordered — you cannot execute a test that has not been designed — but in practice they are iterative and overlapping. CTFL v4.0 makes the same point about its test activities: they often run iteratively or in parallel, and the way they are carried out is tailored to the context.
The cycle also nests. A release has a test cycle; within it, each test level (component integration, system, acceptance) can have its own; and every defect fix starts a small cycle of confirmation testing and regression testing. What makes it a lifecycle is that every cycle closes: someone checks the exit criteria, records what was and was not tested, and hands over.
- Not a phase after development — requirement analysis starts as soon as requirements exist.
- Not only execution — analysis, design and preparation decide whether execution finds anything worth finding.
- Not a documentation exercise — the amount written down follows the context: a regulated system needs formal records, a small product team may need a one-page plan.
- Not owned by testers alone — developers run component tests, product owners accept, operations supports environments.
- 1Requirement analysis≈ Test analysis
- 2Test planning≈ Test planning
- 3Test case development≈ Test design + implementationusually in parallel
- 4Test environment set-up≈ Test implementation: environment
- 5Test execution and defect management≈ Test execution
Repeats: Every defect fix: confirmation testing, then regression testing
- 6Test cycle closure≈ Test completion
Throughout steps 2–6 Test monitoring and test control — no STLC phase of their own; they run from planning to completion.
Then:Into the next cycle: the regression suite gains the new tests and every escaped defect
STLC phases mapped to the ISTQB test process
“STLC” is an industry term; ISTQB does not define it. The CTFL v4.0 syllabus describes a test process of seven activity groups, and ISO/IEC/IEEE 29119-2 describes test management processes (test strategy and planning, test monitoring and control, test completion) and dynamic test processes. The table maps the three vocabularies so you can move between a job description, an ISTQB exam and a standards-based quality system.
- Monitoring and control has no STLC phase: it runs from planning to completion, comparing actual progress with the plan and taking corrective action.
- ISTQB separates test analysis (what to test — test conditions, prioritised) from test design (how to test — test cases, coverage items, test data requirements, environment design).
- ISTQB test implementation covers everything needed to run: test data, test procedures, manual and automated scripts, test suites, the execution schedule, and a test environment built and verified. The STLC splits the environment out as its own phase.
- Test analysis also evaluates the test basis itself for defects — the same idea as the STLC’s requirement analysis.
Industry STLC phase | ISTQB CTFL v4.0 test activity | ISO/IEC/IEEE 29119-2 process
-------------------------|-------------------------------------------|------------------------------------------
Requirement analysis | Test analysis ("what to test") | Test design & implementation (first steps)
Test planning | Test planning | Test strategy & planning
(runs throughout) | Test monitoring and test control | Test monitoring & control
Test case development | Test design ("how to test") | Test design & implementation
| Test implementation (testware ready) |
Test environment set-up | Test implementation (environment ready) | Test environment & data management
Test execution | Test execution | Test execution; test incident reporting
Test cycle closure | Test completion | Test completionPhase 1 — Requirement analysis (test analysis)
The tester reads the test basis — user stories, specifications, designs, API contracts, applicable regulations — and answers two questions: what can be tested here, and what is wrong or missing in the basis itself. The output is a list of test conditions prioritised by risk, and a list of questions and defects in the requirements.
For example, from “Customers can cancel an order before it ships” a tester derives the conditions: cancel a pending order; attempt to cancel a shipped order; cancel a partially shipped order; the refund amount and method; the notification sent; and a customer trying to cancel someone else’s order. Two of these are not answered by the story, so they become questions before any test case is written.
- Tasks — define in-scope and out-of-scope features; derive test conditions; flag untestable statements; surface implicit non-functional needs (performance, security, accessibility, Arabic and RTL); start the requirements traceability matrix; assess product risk as likelihood × impact.
- Entry criteria — requirements or backlog items for the scope are available; the product owner or analyst can answer questions.
- Exit criteria — every in-scope requirement has test conditions or a logged open question; ambiguities are answered or accepted as risks; the traceability matrix is started.
- Typical defects — “REQ-14: refund ‘within a reasonable time’ has no number”; “REQ-22 and REQ-31 contradict each other on whether guest users can cancel”.
Try it: AI Requirement Ambiguity Detector Try it: Requirements → Test Scenarios
Phase 2 — Test planning
Planning decides scope, approach, resources, schedule and the criteria that will end the cycle. The structure of the test plan document is covered in the test plan guide and the organisation-wide approach in the test strategy guide; what matters here is what planning must settle before design starts.
Estimates should come from a stated technique, not a guess. CTFL v4.0 names four: estimation based on ratios, extrapolation, Wideband Delphi and three-point estimation. Project risks (a late build, an unavailable sandbox, a tester on leave) belong in the plan with a contingency, next to the product risks that drive test priorities.
- The plan settles — scope and exclusions; test levels and types; approach per risk level; entry and exit criteria; environments and test data; roles; schedule and estimates; tools; risks and contingencies; reporting cadence.
- Entry criteria — scope is known well enough to estimate; the test strategy or policy is available; team and timeline are known.
- Exit criteria — the plan is reviewed and approved by the stakeholders who will act on it; entry and exit criteria for later phases are agreed; environment and data requests are raised.
Phase 3 — Test case development (test design and implementation)
Test conditions become test cases through test design techniques: equivalence partitioning, boundary value analysis, decision tables and state transition testing for specification-based design; error guessing, exploratory and checklist-based testing for experience-based design. How to write a single good test case is covered in the test case guide. Implementation then organises the cases into procedures and suites, creates the test data, writes the automated scripts and sets the execution order. Traceability is kept from requirement to condition to case.
- Entry criteria — the plan is approved; the test basis for the scope is stable enough to design against; design techniques are agreed.
- Exit criteria — every high-risk condition has at least one test case; cases are peer-reviewed; test data is prepared; automated checks are committed; the traceability matrix shows no uncovered in-scope requirement; suites and execution order are defined.
REQ-07 Order can be cancelled before shipment
TC-07-01 Cancel order in status PENDING -> status CANCELLED, full refund (EP valid)
TC-07-02 Cancel order in status SHIPPED -> 409 "Order already shipped" (EP invalid)
TC-07-03 Cancel another customer's order -> 403, no state change (security)
TC-07-04 Two cancel requests in parallel -> one refund only (concurrency)
TC-07-05 Refund for totals SAR 0.01 and 99,999.99 -> exact amounts refunded (BVA)Try it: Requirements → Test Cases Try it: Boundary Value Analysis Try it: Test Data Factory
Phase 4 — Test environment set-up
A test environment is everything a test runs on: servers or devices, the build under test, configuration, network, databases and their data, test accounts, third-party sandboxes or mocks, and the tools to observe results. It is usually prepared in parallel with test case development, and it is checked with a short smoke test before execution starts. An environment that differs from production in a way that matters produces false passes and false failures.
- Readiness checklist — the version under test is deployed and recorded; configuration matches production where it affects behaviour (feature flags, locale, time zone); the data baseline is loaded and can be restored; third parties are sandboxed or mocked, including their failures; there is a test account for every role; testers can read logs.
- Entry criteria — environment requirements are in the plan; access to infrastructure, sandboxes and test accounts has been requested. A deployable build is needed to finish this phase, not to start it.
- Exit criteria — the smoke test passes; the readiness checklist is signed off; the data baseline can be restored on demand.
- Typical defect — “Staging runs in UTC while production uses Asia/Riyadh; the ‘today’s orders’ filter shifts by three hours.”
Try it: API Health Checker Try it: Mock API Response Generator
Phase 5 — Test execution and defect management
Execution runs the tests in the planned order, compares actual with expected results and logs each outcome as passed, failed, blocked or not run. Every failure is analysed — product defect, test defect, environment or data problem — and product defects are reported with reproducible steps and evidence, a severity and a priority. Fixed defects are retested (confirmation testing) and the areas around the change are re-checked (regression testing).
Monitoring and control happen daily during execution: progress is compared with the plan, and the test lead acts on the gaps — re-prioritising, adding an exploratory session on an unstable area, or escalating a blocker. Defect reports then move through the defect lifecycle and triage described in their own guides; the bug report guide covers how to write one.
- Entry criteria — the environment exit criteria are met and the smoke test passed; test cases and data are ready; the build under test has release notes.
- Exit criteria — planned tests are executed or descoped by an explicit decision; all failures are analysed and defects logged; no open blocker or critical defects (or a recorded risk acceptance); the regression suite is green.
Cycle: Release 3.8 — system test, day 6 of 10
Executed: 205 / 260 (79%) Passed: 188 Failed: 17 Blocked: 7 Not run: 48
Open defects: Blocker 0 · Critical 2 · Major 6 · Minor 9
High-risk requirements with a passed test: 41 / 44
Blocked by: DEF-311 payment sandbox returns 503 for all card types
Actions: refunds exploratory session moved to day 7; retest DEF-298 and DEF-301 todayTry it: AI Bug Description Generator Try it: AI Bug Severity Suggestion Try it: Regression Scenario Generator
Phase 6 — Test cycle closure (test completion)
Closure happens when the exit criteria are met or when stakeholders decide to stop. CTFL v4.0 lists the tasks of test completion: make sure unresolved defects become change requests or backlog items, identify testware worth keeping and archive or hand it over, shut the environment down to an agreed state, analyse the test activities for lessons learned, and produce and communicate the test completion report.
- Completion report contents — testing done against the plan and any deviations; quality assessed against the exit criteria; open defects and the risk they carry; residual risks; key measures (requirement coverage, defects by severity, defects that escaped the previous release); a recommendation, while the release decision itself stays with the stakeholders.
- Entry criteria — execution is complete or stopped by decision; exit criteria have been evaluated.
- Exit criteria — the report is issued; testware is archived; the regression suite includes the new tests and every escaped defect; improvement actions from the retrospective have owners.
Entry and exit criteria per phase at a glance
Criteria only work if they are measurable and if skipping one is a visible decision rather than a quiet omission. In agile teams the same idea appears as the Definition of Ready (entry for a story) and the Definition of Done (exit).
Phase | Entry criteria (example) | Exit criteria (example)
-----------------------|---------------------------------------------------|------------------------------------------------
Requirement analysis | Stories/specs available for the scope; | Every in-scope requirement has test conditions
| product owner reachable for questions | or a logged open question
Test planning | Scope and timeline known; strategy available | Plan approved; entry/exit criteria agreed;
| | environment and data requested
Test case development | Plan approved; test basis stable for the scope | High-risk conditions covered; cases reviewed;
| | data and automated checks ready; RTM updated
Environment set-up | Environment spec in plan; access requested | Smoke test passes; data baseline restorable;
| | third parties sandboxed or mocked
Test execution | Smoke passed; cases, data, release notes ready | Planned tests run or descoped by decision;
| | 0 open Blocker/Critical; regression green
Test cycle closure | Execution complete or stopped by decision | Completion report issued; testware archived;
| | lessons learned have ownersThe STLC in a sprint, in a pipeline, and the usual mistakes
In Scrum the cycle runs per story and per sprint: backlog refinement is requirement analysis and the Definition of Ready its exit; sprint planning includes test planning at sprint scale; design and automation happen during the sprint; the pipeline provisions the environment; execution is continuous; the sprint review and retrospective carry the closure. In a CI/CD setup the pipeline automates environment set-up and much of execution on every change, and human effort moves to analysis, design, exploratory testing and reading production signals.
- Designing tests before the analysis questions are answered — the cases are rewritten when the answers arrive.
- Exit criteria written but ignored under deadline pressure — releasing with an open risk is legitimate only when it is an explicit, recorded decision.
- No traceability — nobody can say which requirements are untested.
- Environment set-up left until the build arrives — the execution window shrinks by exactly the set-up time.
- Skipping closure — escaped defects never enter the regression suite and the same lessons are learned again.
- Counting executed test cases as progress instead of risk covered.
Frequently asked questions
What are the phases of the STLC?
The commonly taught six phases are requirement analysis, test planning, test case development, test environment set-up, test execution and test cycle closure. Test monitoring and control run throughout. The phases overlap and repeat per sprint, release and test level.
What are entry and exit criteria in the STLC?
Entry criteria are the preconditions for starting a phase; exit criteria define what must be achieved to finish it. For example, test execution may start when the smoke test passes and test data is loaded, and may end when all planned tests have run, no blocker or critical defects are open and the regression suite is green.
Is the STLC the same as the ISTQB test process?
It covers the same work under different names. ISTQB CTFL v4.0 describes test planning, test monitoring and control, test analysis, test design, test implementation, test execution and test completion. Requirement analysis maps to test analysis, test case development to test design plus implementation, environment set-up to part of test implementation, and closure to test completion.
What is the difference between test analysis and test design?
Test analysis decides what to test: it identifies and prioritises test conditions from the test basis. Test design decides how to test: it turns those conditions into test cases and coverage items using techniques such as boundary value analysis or decision tables.
What happens in test closure?
The team checks the exit criteria, turns unresolved defects into backlog items or change requests, archives useful testware, restores the environment, runs a retrospective and issues a test completion report with open risks and a recommendation for the release decision.
Does the STLC apply in agile teams?
Yes, at a smaller scale. Each story goes through analysis during refinement, design and execution during the sprint, and closure through the Definition of Done, the sprint review and the retrospective. The phases are shorter and overlap more, and the CI pipeline performs much of the environment set-up and execution.
References
- ISTQB Certified Tester Foundation Level (CTFL) v4.0The foundation syllabus of software testing: test levels and types, test design techniques, test management and tools.
- ISO/IEC/IEEE 29119-2:2021 — Software and systems engineering — Software testing — Part 2: Test processesThe test process model: organisational, test management and dynamic test processes, with their activities and outcomes.
- ISO/IEC/IEEE 29119-3:2021 — Software and systems engineering — Software testing — Part 3: Test documentationTemplates and content for test documentation — test policy, strategy, plan, status and completion reports, incident reports.
- ISTQB GlossaryThe standard definitions of testing terms — test case, regression testing, severity, priority, boundary value analysis and the rest.
- Certified Tester Advanced Level Test Management (CTAL-TM) v3.0ISTQB's advanced syllabus on managing testing: test planning and estimation, risk-based testing, monitoring, metrics and reporting.
Practice exercise
Can execution start on time? A test cycle readiness review
You test a mobile banking app. Release 5.2 adds scheduled transfers, and system test execution is planned to start in two working days. The material below lists the stories in scope, with the risk rating from the test plan, and the test lead’s notes on where the test cycle stands.
Place every note in the STLC, check it against the entry and exit criteria the guide gives for each phase, and send the test lead a recommendation: can execution start as planned? Work on paper and quote the note number (N1 to N10) next to every claim, as you would in a real readiness review. The Timezone Converter helps you see what N9 means for an early-morning run.
Mobile banking app, release 5.2: scheduled transfers
Stories in scope (risk rating from the test plan):
ST-1 Create a one-off transfer for a future date (medium)
ST-2 Create a monthly recurring transfer (medium)
ST-3 Run due transfers early in the morning of the due date (high)
ST-4 Send the customer an SMS after each run, successful or not (medium)
ST-5 Cancel a scheduled transfer before it runs (high)
Test lead’s notes, two working days before system test execution is due to start:
N1 ST-3 gives no run time and no time zone. The question went to the product
owner five days ago; no answer yet.
N2 The test plan was reviewed and approved by the product owner and the QA lead.
N3 ST-5 has no test cases; the traceability matrix shows it as not covered.
N4 48 test cases for ST-1 to ST-4 are written and peer-reviewed.
N5 Test data: 6 of the 10 customer accounts in the plan exist on staging; the
2 low-balance accounts and the 2 frozen accounts do not.
N6 Build 5.2.0-rc1 is deployed to staging and recorded; no release notes yet.
N7 Smoke test: login and account balance pass; "Create scheduled transfer"
returns HTTP 500.
N8 The core-banking sandbox works; the SMS gateway is neither sandboxed
nor mocked.
N9 Staging runs in UTC; production runs in Asia/Riyadh.
N10 Exit criterion for execution in the plan: "Testing ends when quality is good."- For each note N1 to N10, name the STLC phase it belongs to and the matching ISTQB CTFL v4.0 test activity.
- For each note, say which entry or exit criterion it shows as met or not met.
- Check the entry criteria for test execution one by one and decide: start as planned, start partly by an explicit decision, or do not start yet.
- For every gap, propose one action with an owner, and say whether it blocks the start of execution or can be accepted as a recorded risk.
- Rewrite N10 as measurable exit criteria for test execution of this release.
Show the model answer
Steps 1 and 2 — for each note, the STLC phase with the ISTQB test activity in brackets, then the criterion. N1: requirement analysis (test analysis). It is a defect in the test basis; logging the question was right, but the exit criterion "ambiguities are answered or accepted as risks" is not met for ST-3, a high-risk story. N2: test planning (test planning); "the plan is reviewed and approved" is met. N3: test case development (test design); not met, because a high-risk condition has no test case and the traceability matrix shows an uncovered in-scope requirement. N4: test case development (test design); "cases are peer-reviewed" is met for ST-1, ST-2 and ST-4, but the ST-3 cases that check the run time were designed before N1 was answered and will have to be reworked — one of the usual mistakes the guide lists.
N5: test case development and environment set-up, both part of ISTQB test implementation, which creates the test data and loads the data baseline; "test data is prepared" is not met and the data baseline on staging is incomplete, so the negative tests that need those accounts cannot run. N6: environment set-up (test implementation); the version under test is deployed and recorded, which meets a readiness item, but the execution entry criterion "the build under test has release notes" is not met. N7: environment set-up (test implementation, where the environment is verified); the smoke test failed, so the phase cannot exit. N8: environment set-up (test implementation); the readiness item "third parties are sandboxed or mocked, including their failures" is not met for SMS. N9: environment set-up (test implementation); "configuration matches production where it affects behaviour" is not met: Asia/Riyadh is three hours ahead of UTC, so run times and date boundaries on staging differ from production. For example, 00:30 on 15 March in Riyadh is 21:30 on 14 March in UTC: for the first three hours of every Riyadh day, staging still treats the previous date as today, and a job set to 02:00 by the server clock runs at 05:00 Riyadh time on staging but at 02:00 in production. N10: test planning (test planning); the plan is approved (N2), yet "entry and exit criteria for later phases are agreed" is met only on paper, because nobody can measure "quality is good".
The list of notes is itself test monitoring: the test lead compares the actual state with the plan. The decision you are asked for is test control. Neither has an STLC phase of its own; both run from planning to completion.
Step 3 — decision: do not start execution as planned. All three entry criteria fail: the environment exit criteria are not met and the smoke test failed (N5, N7, N8, N9); test cases and data are not ready (N3, N5); the build has no release notes (N6). N7 alone settles it: every story begins with creating a scheduled transfer, so almost every test case would be logged as blocked while the execution window shrinks anyway. N9 alone makes every result that depends on the date or time unreliable: the runs in ST-3, the SMS after each run in ST-4 and the future-date check in ST-1 and ST-2.
A reasonable alternative, if the test lead and the product owner record it as an explicit decision: once N7 is fixed, N9 is corrected, the release notes are out and the smoke test passes, start with the ST-1 and ST-2 test cases that need only the six existing accounts, and hold ST-3, ST-4, ST-5 and the negative tests until their gaps close. Until N8 is fixed, confirm with the environment owner that staging cannot send a real SMS when one of these transfers falls due. Starting quietly with a failing smoke test is the one option that is not acceptable.
Step 4 — actions, owners and whether each gap blocks. N7: the tester logs a defect with the request, the response, the time and the server log reference; the failure is analysed (product defect, environment or data problem) and fixed, and the smoke test is re-run. It blocks the start, and accepting it as a risk would not help, because almost nothing can be tested while it fails; if it is a product defect, Blocker is the likely severity, since it stops the main function of the feature and blocks testing of all five stories. N9: the environment owner sets the staging time zone to Asia/Riyadh, as in production. It blocks the start and should not be accepted as a risk, because the time zone is part of the behaviour under test. N6: the development lead publishes release notes for rc1 with its contents and known issues. It blocks the start, because the entry criteria require release notes, but it is quick to close, so it should never be the reason for a delay.
N3: the tester designs ST-5 test cases — for example cancel a one-off transfer that has not run, cancel a recurring transfer (and ask whether that stops one run or the whole series), cancel just before the run time, try to cancel a transfer that has already run, try to cancel another customer’s scheduled transfer — then updates the traceability matrix and has the cases peer-reviewed. It blocks ST-5; leaving ST-5 out is acceptable only as an explicit descoping decision by the product owner. N1: the test lead escalates the question, since it has waited five days, and the product owner answers with a run time and a time zone; the tester then updates the ST-3 test conditions and reworks the affected cases. It blocks the ST-3 run-time tests, which have no expected result without the answer.
N5: the tester, with whoever manages staging data, creates the two low-balance and the two frozen accounts and adds them to the restorable data baseline. It blocks only the negative tests: insufficient balance on the due date, a frozen source account, the failure SMS. N8: the developers or the environment owner put a mock or sandbox in front of the SMS gateway that can also return errors and timeouts and lets testers see each message. It blocks ST-4; until then, runs on staging may fail or try to send real messages. N10: the test lead proposes measurable criteria (step 5) and the product owner approves them before the first day of execution. It is not an entry criterion for execution, so it does not block the start, but without it nobody can say when execution is finished.
Step 5 — measurable exit criteria for test execution, for example: every planned test case for ST-1 to ST-5 is executed, or descoped by a decision the product owner records; every in-scope requirement in the traceability matrix has at least one passed test case, and every high-risk test condition of ST-3 and ST-5 has a passed test case; every failure is analysed and every product defect is logged; no Blocker or Critical defect is open, unless the stakeholders record a risk acceptance; every fixed defect has passed confirmation testing; the regression suite for existing transfers and payments is green on the final build. The thresholds are the team’s choice; what matters is that each criterion is answered with yes, no or a number, and that skipping one is a recorded decision.
When you check your answer, look for three slips: reading N2 as "planning is finished" although N10 shows the exit criteria cannot be used; reading N4 (48 reviewed cases) as readiness although the high-risk ST-5 has none — counting test cases instead of risk covered; and proposing to "start anyway to save time" with a failing smoke test, which produces only a long list of blocked results.
Your progress on this topic
Not started
Mark the topic complete when you have studied it and done the exercise.
Sign in to track your progress
Mark topics complete, continue where you left off and unlock specialisation exams.
Part of the QA Roadmap
Before this topic
Next topics
Tools mentioned in this guide
Convert a list of numbered requirements into traceable test cases with a requirement-to-test matrix.
Detect ambiguous, vague or contradictory statements in requirements and get clarifying questions from Mutqan AI.
Score features by likelihood and impact, then generate a prioritised risk-based test plan.
Perform full boundary value analysis (2-value and 3-value BVA) with equivalence classes and expected results.
One-stop factory for synthetic test data: users, customers, companies, addresses, numbers, dates and strings in JSON, CSV, SQL or XML.
Check several API health endpoints at once and get status, latency and a pass/fail summary.
Turn rough notes into a complete bug report: steps to reproduce, expected vs actual, environment, severity and attachments checklist.
Generate regression scenarios from a change description and a list of affected and related modules.
Compare requirements or a user story against existing test cases to find untested areas, with Mutqan AI.