SDLC vs STLC

Building software (SDLC) and testing software (STLC) are two related but distinct life cycles that run alongside each other. SDLC covers the entire journey of a product from idea to maintenance. STLC is the testing-specific sub-process that happens, in some form, inside (or alongside) most of those SDLC phases. Understanding both — and how they overlap — explains why testing isn't just "something that happens at the end."

SDLC: Software Development Life Cycle

The six phases most SDLC models describe, using RecipeBox as the running example:

PhaseWhat happensRecipeBox example
1. RequirementsGather what the product needs to do"Users must be able to add a recipe with a title, ingredients, steps, an optional photo, a category, and a prep time"
2. DesignPlan the architecture, UI, and data modelDeciding the Add Recipe screen's layout and that a recipe has fields id, title, ingredients, steps, photoUri, category, prepMinutes
3. DevelopmentWrite the actual codeBuilding the Add Recipe screen, the database layer, the save logic
4. TestingVerify the built product against requirementsConfirming the Add Recipe screen rejects an empty title, saves valid recipes, and shows them in the Recipe List
5. DeploymentRelease the product to real usersPublishing the RecipeBox update to the app store
6. MaintenanceFix bugs and add improvements post-releasePatching a crash reported by users who added a recipe with no photo

STLC: Software Testing Life Cycle

STLC zooms into that one "Testing" box above and expands it into its own structured process:

PhaseWhat happensRecipeBox example
1. Requirement analysisTesters study requirements to understand what's testable, and raise questions about anything ambiguous"What should happen if prepMinutes is left blank — is 0 assumed, or is it a required field?" gets asked and answered before writing test cases
2. Test planningDecide scope, approach, tools, timelines, and who tests whatDeciding that the Add Recipe screen will get both scripted test cases and a round of exploratory testing before release
3. Test case developmentWrite the actual test cases (and test data) based on requirementsWriting test cases for valid recipe, empty title, negative prepMinutes, oversized ingredient list, etc.
4. Test environment setupPrepare the build, test devices, test accounts, and test data needed to run testsInstalling the latest RecipeBox build on a test device with a seeded test account and a few sample recipes already saved
5. Test executionActually run the test cases and log resultsRunning each Add Recipe test case, marking pass/fail, logging any bugs found (e.g., blank title accepted)
6. Test closureSummarize results, evaluate exit criteria, document lessons learnedConfirming all critical bugs on the Add Recipe screen are fixed and verified before sign-off for release

Side by Side

SDLC phaseRoughly corresponds to STLC phase(s)
RequirementsRequirement analysis
DesignTest planning, early test case development
DevelopmentTest case development, test environment setup (can run in parallel with coding)
TestingTest execution
DeploymentTest closure (final sign-off before release)
MaintenanceA new, smaller STLC cycle often restarts for each fix or new feature
Note: STLC doesn't wait for SDLC's "Testing" phase to begin. Requirement analysis and test case development can — and should — start as soon as requirements and design exist, long before any code is written. This is the core idea behind "shifting testing left," and it's exactly what keeps bugs cheap to fix (see the cost-of-change table in What is Software Testing?).

Where Testing Fits: Waterfall vs Agile

ModelWhere testing happens
WaterfallTesting is its own distinct phase, done only after development is "complete." All of RecipeBox would be built first, then handed to QA as one large batch.
AgileTesting happens continuously, inside every sprint, alongside development. If "Add Recipe" is this sprint's feature, it gets test cases written, executed, and bugs fixed within that same sprint — not months later.

Most real-world teams today — including the kind of team that would build RecipeBox — use some flavor of Agile, which is exactly why STLC activities like test planning and test case development need to start early and run continuously rather than waiting for a single "testing phase."

Next up: Two terms that sound similar but ask very different questions — Verification vs Validation.