Learner can choose the right testing activity (smoke / regression / re-test) for a situation and explain when manual vs automated testing fits.
Smoke, regression, re-test — and when to automate
Smoke, regression, re-test — and when to automate
Smoke testing is a quick, high-level check run immediately after a new build arrives. The goal is not thorough verification but basic sanity: is the application alive and is it worth proceeding with deeper testing? Think of it as checking whether the building has electricity before moving in. A smoke suite typically covers 5–15% of functionality but does so in minutes.
Regression testing answers the question: did recent changes break anything that was already working? After a developer fixes a bug or adds a new feature, existing functionality must be re-verified. Regression suites grow over time and are prime candidates for automation, because they are stable, repeatable, and run frequently.
Re-testing (confirmation testing) is more focused: after a specific bug has been fixed, the tester repeats the exact test case that originally caught the defect to confirm the fix works. Do not confuse this with regression testing — re-testing targets one specific defect, while regression testing checks the broader system.
Manual testing is performed by a human following test cases or exploring freely. It is irreplaceable for exploratory testing, usability evaluation, one-off edge cases, and any scenario that requires human judgment. Automation is not a substitute for exploratory testing.
Automated testing uses scripts and tools to run tests without human intervention. It excels at repetitive, deterministic checks — smoke suites, regression suites, API contract tests — and at scale (running thousands of tests overnight). However, automation has a cost: scripts must be written, maintained, and updated when the product changes. The key principle: automate where it pays off, keep humans where judgment matters.
Lesson notes
Smoke, regression, re-test — and when to automate
Smoke testing is a quick, high-level check run immediately after a new build arrives. The goal is not thorough verification but basic sanity: is the application alive and is it worth proceeding with deeper testing? Think of it as checking whether the building has electricity before moving in. A smoke suite typically covers 5–15% of functionality but does so in minutes.
Regression testing answers the question: did recent changes break anything that was already working? After a developer fixes a bug or adds a new feature, existing functionality must be re-verified. Regression suites grow over time and are prime candidates for automation, because they are stable, repeatable, and run frequently.
Re-testing (confirmation testing) is more focused: after a specific bug has been fixed, the tester repeats the exact test case that originally caught the defect to confirm the fix works. Do not confuse this with regression testing — re-testing targets one specific defect, while regression testing checks the broader system.
Manual testing is performed by a human following test cases or exploring freely. It is irreplaceable for exploratory testing, usability evaluation, one-off edge cases, and any scenario that requires human judgment. Automation is not a substitute for exploratory testing.
Automated testing uses scripts and tools to run tests without human intervention. It excels at repetitive, deterministic checks — smoke suites, regression suites, API contract tests — and at scale (running thousands of tests overnight). However, automation has a cost: scripts must be written, maintained, and updated when the product changes. The key principle: automate where it pays off, keep humans where judgment matters.