Smoke testing is the initial testing process, the term ‘Smoke Testing’ came from the hardware testing, in the hardware testing initial pass is done to check if it did not catch the fire or smoked in the initial switch on.
Basically, it has two points of agenda
Is the Application Up and running? Do we have the correct version installed?
It is a kind of Check Point or Validation Check. Smoke Testing, also known as “Build Verification Testing”.
The Smoke testing is typically executed by testers after every build is received for checking the build is in testable condition.
This type of testing is applicable in the Integration Testing, System Testing and Acceptance Testing levels. Advantages of Smoke Testing
It helps to find issues introduced in an integration of modules. It helps to find issues in the early phase of testing. Identifying the business-critical functionalities that a product must satisfy. Designing and executing the basic functionalities of the application. Smoke Tests enables uncovering obvious errors which save time and effort of a test team. Smoke Tests can be manual or automated. It helps to get a confidence to the tester that fixes in the previous builds not breaking major features (off course, only features exercised by smoke testing). Ensuring that the smoke test passes each and every build in order to proceed with the testing.
Sanity Testing is quick Regression Test with the focus on few impacted functionalities only. This testing is a checkpoint to determine if testing for the build can proceed or not.
The main purpose of this testing is to determine that the changes or the proposed functionality are working as expected. If the sanity test fails, the build is rejected by the testing team to save time and money.
It is performed only after the build has cleared the smoke test and been accepted by the Quality Assurance team for further testing. The focus of the team during this testing process is to validate the functionality of the application and not detailed testing.
Sanity testing is performed when development team needs to know a quick state of the product after they have done changes in the code or there is some controlled code change in a feature to fix any critical issue, and stringent release time-frame does not allow complete regression testing. Conclusion: –
Sanity testing is a subset of regression testing. Sanity testing is usually narrow and deep. Sanity testing is typically non-scripted. Sanity testing follows narrow and deep approach with detailed testing of some limited features. Sanity testing is used to verify the requirements of end users are meeting or not. Sanity testing to check the after minor fixes the small section of code or functionality is working as expected & not breaking related functionality. Sanity testing is cursory testing to prove software application is working as mention in the specification documents & meets the user needs. Sanity testing is to verify whether requirements are met or not, checking all features breadth-first.
Difference B/W Smoke Testing and Sanity Testing
Santy Testing Smoke testing is a wide approach where all areas of the software application are tested without getting into too deep
a sanity software testing is a narrow regression testing with a focus on one or a small set of areas of functionality of the software application. The test cases for smoke testing of the software can be either manual or automated
a sanity test is generally without test scripts or test cases. Smoke testing is done to ensure whether the main functions of the software application are working or not. During smoke testing of the software, we do not go into finer details.
sanity testing is a cursory software testing type. It is done whenever a quick round of software testing can prove that the software application is functioning according to business / functional requirements. Smoke testing of the software application is done to check whether the build can be accepted for through software testing
Sanity testing of the software is to ensure whether the requirements are met or not. This testing is performed by the developers or testers
Sanity testing is usually performed by testers Smoke testing exercises the entire system from end to end
Sanity testing exercises only the particular component of the entire system Smoke testing is like General Health Check Up
Sanity Testing is like specialized health check up Smoke testing is usually documented or scripted
Sanity testing is usually not documented and is unscripted