SDLC, STLC, test levels and what goes in a test plan
How testing fits each development stage, the difference between smoke, sanity and regression, and the entry and exit criteria a plan needs.
Interviewers for manual testing roles usually start with definitions: what is the STLC, when do you run a smoke test, what is in your test plan. The answers are short, but you must give them in your own words with an example.
SDLC and STLC
The software development life cycle (SDLC) is the path from requirement to release: requirements, design, build, test, deploy, maintain. The software testing life cycle (STLC) runs alongside it: requirement analysis, test planning, test case design, environment setup, test execution, and test closure. Testing does not start when code arrives. Asking "what happens if the user enters a past date?" while reading a requirement is requirement analysis, and it finds the cheapest bugs. Verification asks "are we building it right"; validation asks "did we build the right thing".
Levels and types
Levels describe how much of the system is under test. Unit tests cover one function. Integration tests check that two parts work together, such as the order service and the payment gateway. System tests run the whole product end to end. Acceptance tests confirm the business is happy to release.
Types describe the purpose of a run. A smoke test is a quick pass over the main paths after a new build: can I log in, add to cart, pay? If smoke fails, the build is rejected. A sanity test is narrow: one fix came in, so you check that fix and its immediate neighbours. Retesting confirms a specific bug is fixed. Regression re-runs existing cases to be sure the fix broke nothing elsewhere. Worked example: a bug in the discount code is fixed. Retesting confirms code SAVE10 now works. Regression confirms the cart total, taxes and the order email, which all read the same price field, still work.
The test plan
A test plan is a short document with: scope (what is in and out), approach and test types, environments and test data, roles, schedule, risks, and entry and exit criteria. Entry criteria say when testing may begin, for example "build deployed to QA, smoke test passed, test data loaded". Exit criteria say when it may stop, for example "all planned cases executed, no open critical or high defects". Without written criteria, the argument about whether to release happens at midnight.
Common mistakes and a practice habit
- Describing smoke and sanity as the same thing. Smoke is broad and shallow on a new build; sanity is narrow and deep on a change.
- Treating retesting as regression. One confirms the fix, the other protects the rest.
- Writing a test plan that lists tools but not exit criteria.
Practice habit. Pick an app on your phone. Write a five-line smoke checklist for it, then imagine one fix (say, the search button) and write what a sanity check and a regression set would include. Do this weekly until the three lists come out different without effort.
More in Software testing