Software Testing Tutorial #26 - Smoke Testing Vs Sanity Testing
Summary
TLDRThis software testing tutorial explains the key differences between smoke testing and sanity testing. Both tests are used to ensure the stability of software builds. Smoke testing focuses on critical functionalities in early, unstable builds, while sanity testing is used in later stages to verify defect fixes or new functionalities before regression testing. The video also traces the origins of 'smoke testing' from plumbing and hardware testing. Overall, these tests help save time and ensure the build is stable before proceeding with detailed testing.
Takeaways
- π§ Smoke testing and sanity testing are essential methods for ensuring software build stability in software testing.
- π¦ A software build is a package that contains all the code and functionality developed by a team, which is deployed for testing.
- π¬ Smoke testing originated from plumbing and circuit board testing, where smoke would indicate a leak or malfunction.
- π Smoke testing is a shallow form of testing that checks key functionalities such as login, registration, and payment to ensure the build is stable before detailed testing begins.
- π¨βπ» Developers and testers both perform smoke testing to confirm the build is correctly installed and critical features work.
- π Smoke testing is typically done during the initial phases when the build is relatively unstable, focusing on critical areas before moving to deeper testing.
- π Sanity testing is performed after a defect fix or new functionality is added to ensure the specific module affected is functioning correctly before full regression testing.
- π Sanity testing involves deeper testing of the changed areas, ensuring fixes don't break existing functionalities.
- π Both smoke and sanity testing are crucial to saving time and ensuring the build is stable before progressing to full, detailed testing.
- π― Smoke testing happens in the early stages of development, while sanity testing occurs when the build becomes stable, focusing on defect fixes or updates.
Q & A
What is a software build?
-A software build is a package that contains the code, configurations, and components developed by the team, which can then be deployed in a test environment. It includes all the elements of an application, such as the user interface, database, and methods used to implement functionality.
How is smoke testing related to software builds?
-Smoke testing is conducted on software builds to ensure that the key functionalities of the application work as expected. It is a shallow approach to testing, focusing only on critical features to confirm the build is stable enough for further, more detailed testing.
Where does the term 'smoke testing' come from?
-The term 'smoke testing' originates from plumbing and hardware testing. Plumbers used smoke to detect leaks in pipes, and hardware testers would see if smoke came out of circuit boards upon powering them. This concept is applied to software by performing initial tests to ensure stability.
What is the purpose of smoke testing in software development?
-Smoke testing ensures that the critical functionalities of a build are working properly. It helps determine whether the build is stable enough to proceed with detailed testing. If key functionalities fail during smoke testing, further testing is unnecessary until the issues are resolved.
Who conducts smoke testing?
-Both developers and testers can conduct smoke testing. Developers ensure that the build is successfully deployed on the test machine, while testers verify that key functionalities are working as expected.
When is smoke testing typically performed?
-Smoke testing is usually performed in the early phases of software development when the build is relatively unstable. It helps confirm that the build is ready for more detailed testing by focusing on critical functionalities.
What is sanity testing, and when is it performed?
-Sanity testing is performed after the build has stabilized and is used to verify specific modules after defect fixes or new functionalities have been added. It involves deeper testing of the affected areas to ensure the new changes work as expected before full regression testing.
How does sanity testing differ from smoke testing?
-Smoke testing is a shallow and broad test of the build to check critical functionalities during initial stages, while sanity testing is a focused, deep test of specific modules after defect fixes or updates. Smoke testing ensures the build is stable for testing, while sanity testing verifies that specific fixes work properly.
Why is sanity testing important before performing full regression testing?
-Sanity testing ensures that the module where a defect was fixed or a new feature was added works as expected. It verifies that changes did not introduce new issues before the entire build undergoes full regression testing, saving time and ensuring stability.
What is the primary purpose of both smoke and sanity testing?
-Both smoke and sanity testing are conducted to save time and ensure that the build is stable before progressing to more detailed or full-scale testing. They help confirm that the critical parts of the application are functioning correctly, allowing the test team to proceed with confidence.
Outlines
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowMindmap
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowKeywords
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowHighlights
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowTranscripts
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowBrowse More Related Video
Software Testing Tutorial #16 - Types of Software Testing
Software Testing Tutorial #23 - What is Regression Testing
Software Testing Tutorial #36 - Decision Table Testing in Software Testing
30. OCR A Level (H046) SLR6 - 2.2 Test strategies
Tipos y Niveles de Pruebas de Software.
CH03. L01. Static Techniques and the Test Process
5.0 / 5 (0 votes)