Texting Techniques

Smoke, Sanity and Regression

Learning Outcome

4

Select the correct testing type for real project scenarios

3

Differentiate clearly between Smoke, Sanity and Regression testing

2

Identify when to use each testing type

1

Understand the purpose of Smoke, Sanity and Regression testing

Recall

We learned different levels of testing

Testing is performed at different stages of development

Sometimes we verify basic build stability

Sometimes we verify specific bug fixes

Sometimes we re-test entire application after changes

Imagine a E-commerce website

E-commerce website

Bug fixed in Apply Coupon on checkout

Transition from Analogy to Technical Concept

Before deeper testing

Does the site open?

Can users log in?

Can product and cart pages load?

After the bug fix

Is the coupon applied correctly now?

After accepting the fix

Can payments be completed?

Can users still place orders?

Is order confirmation working?

Basic confidence before spending more effort

Confirmation of the specific fix

 Check that the Bug resolution has not affected other modules of allocation

Smoke Testing

Smoke testing is a preliminary check on a new build

It verifies that the build is stable

It checks only basic and critical functionalities

When Coupon related bug is fixed and  a new build is received for the e-commerce website Application

  • Can the website open?

  • Can users log in?

  • Can product list and cart page load?

We check,

This is smoke testing for this application

Smoke Testing Purpose and When performed

Duration

  • Very short

Purpose

Verify that the new build of the e-commerce site is stable

Confirm that basic and core flows such as browsing and cart access work

Decide whether detailed testing can start on this build

When is Smoke Testing Performed?

  • When a new build is delivered
  • Before starting detailed test execution
  • To decide whether deeper testing can begin
  • To ensure the application is usable at a basic level
  • Is the coupon applied correctly now?

After the coupon bug is fixed in the checkout page:

This is sanity testing for this application

Sanity Testing

It validates only the affected functionality

It is performed after small changes or bug fixes

Sanity testing is narrow and focused testing

Sanity Testing Purpose and When performed

Duration

  • Short

Purpose

Verify that the recent bug fix or small change works correctly

Validate only the affected module or functionality

Avoid running full regression testing

When is Sanity Testing Performed?

  • After a minor change or bug fix
  • When only a specific module or feature is impacted
  • When there is limited time to perform full testing
  • Can users still place orders?

  • Can users still make payments?

  • Is order confirmation still working?

After accepting the coupon fix:

This is regression testing for this application

Regression Testing

It validates only the affected functionality

It is performed after small changes or bug fixes

Sanity testing is narrow and focused testing

Regression Testing Purpose and When performed

Purpose

Ensure that recent changes have not broken existing functionality

Maintain the overall stability of the application

Protect the system from side effects caused by new changes

Duration

  • Long

When is Regression Testing Performed?

  • After any code change
  • During regular testing cycles
  • Before a release

Comparison between Smoke, Sanity and Regression Testing

Focus

Regression Testing

Sanity Testing

Smoke Testing

Pointer

Trigger

Durations

Scope

Verify that the new build is stable and usable

Basic and critical functionalities only

When a new build is delivered

Very short

Verify that a specific bug fix or small change works correctly

Only the affected module or functionality

After a minor change or bug fix

Short

long

After any change in the code base

Entire application or major functional areas

Ensure that recent changes have not affected existing features

Classroom Activity

Summary

4

Each testing type supports a different decision after changes

3

Regression testing ensures existing features still work

2

Sanity testing validates specific fixes or changes

1

Smoke testing validates basic build stability

Quiz

Which type of testing is performed to ensure that recent code changes have not affected existing functionalities?

A. Smoke Testing

B. Sanity Testing

C. Regression Testing

D. Exploratory Testing

Quiz-Answer

Which type of testing is performed to ensure that recent code changes have not affected existing functionalities?

A. Smoke Testing

B. Sanity Testing

C. Regression Testing

D. Exploratory Testing

Smoke, Sanity and Regression

By Content ITV

Smoke, Sanity and Regression

  • 16