Open In App

Difference between Smoke Testing and Regression Testing

Prerequisite – Software Testing 

1. Smoke Testing : Smoke Test refers to an initial testing which is performed on newly developed software build . By this kind of software testing it is clear that the core functionalities of software product is working perfectly without any issues. If any case the software fails to pass the smoke testing then it is treated as broken builds and forwarded back to developers . Some testing is done before any functional testing any detailed functional tests are done on the software. This smoke testing is carried out during initial development stage of Software Development Life Cycle (SDLC). Smoke Testing is also referred as ‘Surface Level Testing’ as it takes place before actual process testing and does not perform deep testing just verifies that core functionalities working fine or not. Smoke Testing is not only called as Surface Level Testing but also calls ‘Build Verification Testing’ as it verifies the initial builds of software. 



Example – Think about Bus Ticket Reservation Site, in this Smoke Tests examples are the tester will ensure that Site Sign in function, Changing Password, Booking Seat, Cancel Seat, Booking notification functionalities etc. are working fine. 

2. Regression Testing : Regression Testing refers to an in depth and through examination of software to ensure that recent code change has not adversely affected the existing features. Means it is the verification of changes in software after bug fixes or changes in requirement. After completion of Sanity Testing for changed requirements, Regression Testing is carried out to know all the impacted features. Hence Regression Testing mainly carried out after any bug fixes, code modification, requirement changes, defect fix or any new module development. This is done for impact analysis of software after any changes. 



Example – If we will take the above same example Regression Testing examples include not only the basic functions that make the Bus Ticket Reservation site work but allow us to test more complicated use cases for seat bookings, like location of travel, promo codes for booking, international tax etc. 

Difference between Smoke Testing and Regression Testing:

Smoke Testing Regression Testing
Smoke Testing is the Surface Level Testing to verify stability of system. Regression Testing is the Deep Level Testing to verify the rationality of system.
Smoke Test is always followed by Regression Test. Regression Test is always carried out throughout the testing phase.
Test Cases of Smoke Test is a part of Regression Testing and covers only the core functionalities. Regression testing is obtained from functional specification or Software Requirement Specification (SRS).
Smoke tests are performed by the developers. Regression tests are performed by the professional testers.
Smoke tests are performed quickly to confirm whether to accept or reject the build. Regression tests are not accountable for accepting or rejecting a software build for further testing procedures.
This type of testing is performed on when the new  software is developed. This type of testing is performed to check when the change made by tester, code affects the existing features or not.
Cost of Smoke testing is low. Cost of Regression testing is little bit high.
This testing is documented or scripted. This testing is not documented or scripted.
It is also known as Build Verification Testing. It is not known by any other name.
Requirement of time and manpower is less than Regression Testing. Requirement of time and manpower is more than Smoke Testing.
Smoke testing can be performed by using both automation tools and manually. Regression testing can be performed by either automation tools or manually.
Article Tags :