Smoke Testing – A Necessary Evil!
Smoke Testing – A Necessary Evil!

                 Introduction   Increase in competition and leaps in technology have forced companies to adopt innovative ap-
                                proaches to have an application which is 100% error free (well almost!). Having more features and
                                functionality may not necessarily translate into success for a product or application—what ultimately
                                counts is how stable the end user finds these features. This can be achieved by applying different types
                                of testing methods and one such type of testing is “Smoke Testing”.
                                Smoke testing is a good practice to ensuring that a build meets minimum quality requirements. It
                                instills confidence, develops a good understanding between development and testing team, provides
                                a structured approach and shortens the testing cycle while improving the overall quality of the build(s)
                                or release. The quality and functioning of the developed software is improved as functional, architec-
                                tural and component level design defects are found earlier.
                                A good test strategy includes smoke testing as one of the key activities and is often defined as accep-
                                tance criteria before a build is deployed for further detailed testing by a testing team.

 What Is Smoke Testing?         A smoke test is a series of test cases that are run prior to commencing with full-scale testing of an
                                application. Smoke testing is non-exhaustive testing, ascertaining that the most crucial functions of a
                                program work, but not bothering with finer details.
                                The idea is to test the high-level features of the application to ensure that the essential features work.
                                If they do not work, there is no need to continue testing details of the application, so the testing team
                                will refuse to do any additional testing until the smoke test suite passes. This puts pressure on the
                                development team to ensure that the testing team does not waste valuable testing time with code that
                                is not ready to be tested.
                                Once smoke tests are implemented as part of your software development life cycle, you will see
                                the overall quality of the product improve and the sensitivity to producing high quality software in-
                                creased.

    Smoke Tests - How to        To implement smoke tests, the testing team will develop a set of test cases that are run any time a new
             Implement          release is provided from the development team. These set of test cases are used to test the major func-
                                tional areas of the system. They are not nit-picky test cases that test low-level detail of the application;
                                they are higher level test cases that test overall functionality.
                                It will be more productive and efficient if the smoke test suite is automated or it can be a combination
                                of manual and automated testing.
                                To ensure quality awareness, the smoke test cases are publicized to the development team ahead of
                                time, so that they are aware of the quality expectations.

 Components of a Smoke          It is important to focus on the fact that smoke test suite is a “shallow and wide” approach to the test-
             Test Suite         ing. The test suite should comprise all areas of the application without getting too deep, looking for
                                answers to basic questions like, “Can I launch the test item at all?”, “Does it open to a window?”,
                                and “Do the buttons on the window perform actions as intended”? These written tests can either be
                                performed manually or using an automated tool.
                                One way to ensure that smoke test suite comprises of “shallow and wide” test cases is by focusing
                                on positive tests only. A positive test is used primarily, if not solely, to validate that a given system,




  www.mindlance.com
  testing@mindlance.com
Smoke Testing – A Necessary Evil!

                              function, operation, etc. works as designed when a user enters the right data, in the right place, at the
                              right time, clicks the right buttons, etc.
                              The smoke test suite should ideally include at least one test case for every feature or function of all
                              the modules. Smoke test suite need not be part of the regression test suite; this reduces or avoids the
                              redundancy or repeatability of the tests that do not add value during regression testing. Typical issues
                              uncovered by a good smoke test suite are:
                              „„ Initial environment setup or configuration issues

                              „„ Overall application stability issues

                              „„ Features those are not yet available or not functioning

  Responsible Parties for     Smoke testing is either done by developers before the build is released or by testers before accepting
         Smoke Testing        a build for further testing. In either case, it is important to define the roles and responsibilities at the
                              beginning of the project. If indeed the development has a detailed unit test suite, then generally the
                              smoke testing responsibility is shifted to testing team.

                    Summary   Typical Characteristics of Smoke Testing
                              „„ It exercises the entire system from end-to-end. Stress should be given to detect those errors
                                  which can stop the system from functioning further
                              „„ It is not exhaustive but should be capable of exposing major problems

                              „„ It ensures that the major functionality is working and the build is stable enough for further testing
                                  thoroughly.

                              Advantages of Smoke Testing
                              " It minimizes integration risk. One of the greatest risks that a team project faces is that, when
                                 the different team members combine or “integrate” the code they have been working on sepa-
                                 rately, the resulting composite code does not work well. Depending on how late in the project the
                                 incompatibility is discovered, debugging might take longer than it would have if integration had
                                 occurred earlier, program interfaces might have to be changed, or major parts of the system might
                                 have to be redesigned and re-implemented. In extreme cases, integration errors have caused
                                 projects to be cancelled. The daily build and smoke test process keeps integration errors small
                                 and manageable, and it prevents runaway integration problems.
                              " It reduces the risk of low quality. Related to the risk of unsuccessful or problematic integra-
                                 tion is the risk of low quality. By minimally smoke-testing all the code daily, quality problems are
                                 prevented from taking control of the project. You bring the system to a known, good state, and
                                 then you keep it there. You simply don’t allow it to deteriorate to the point where time-consuming
                                 quality problems can occur.
                              " Uncover major problems. A good designed smoke test can increase the probability of finding
                                 a major problem when software is built early in the cycle. It also uncovers defects not related to
                                 coding but that arise because of wrong or incomplete setup or configuration; such as database,
                                 server, firewall, application parameters etc. Thus you catch defects earlier in the cycle.
                              " Save time and cost. If a major problem is detected at an earlier stage, it can save huge time
                                 and cost than if the same error was discovered late in the cycle.




  www.mindlance.com
  testing@mindlance.com

More Related Content

DOC
Smoke testing
PPTX
Sanity testing and smoke testing
PDF
Smoke Testing
PPTX
What is smoke testing
PPTX
What is sanity testing
PDF
What is Sanity Testing? Edureka
PPTX
SOFTWARE TESTING UNIT-4
Smoke testing
Sanity testing and smoke testing
Smoke Testing
What is smoke testing
What is sanity testing
What is Sanity Testing? Edureka
SOFTWARE TESTING UNIT-4

What's hot (20)

PDF
Test Case Prioritization Techniques
PDF
AfterTest Madrid March 2016 - DevOps and Testing Introduction
PPT
software testing aplikasi
PDF
Pairwise testing
PDF
Top Chrome Extensions for Software Testing
PDF
Regression testing complete guide
PPSX
Principles of Software testing
PDF
Principles of software testing
PPSX
Manual testing
PPTX
Seven testing principles
PPTX
Software Testing: History, Trends, Perspectives - a Brief Overview
PPTX
Purpose and-objectives-of-software-testing
PPTX
Importance of a Test Management Tool for Your Project
PPTX
PDF
Test Environment Management
PPT
Testing 3: Types Of Tests That May Be Required
PPTX
Top 15 Interview Questions for Manual Testers
PPTX
SOFTWARE TESTING
PDF
Types of Software Testing: Definition, Objectives and Advantages
PPT
Basic software-testing-concepts
Test Case Prioritization Techniques
AfterTest Madrid March 2016 - DevOps and Testing Introduction
software testing aplikasi
Pairwise testing
Top Chrome Extensions for Software Testing
Regression testing complete guide
Principles of Software testing
Principles of software testing
Manual testing
Seven testing principles
Software Testing: History, Trends, Perspectives - a Brief Overview
Purpose and-objectives-of-software-testing
Importance of a Test Management Tool for Your Project
Test Environment Management
Testing 3: Types Of Tests That May Be Required
Top 15 Interview Questions for Manual Testers
SOFTWARE TESTING
Types of Software Testing: Definition, Objectives and Advantages
Basic software-testing-concepts
Ad

Viewers also liked (7)

PDF
Flowtown case study for #sllconf
PPTX
Testing types (simple)1
PDF
Smoke testing with Go
PPTX
Test Driven Development
PPT
How to Run a Smoke Test
PPTX
Smoke Testing: Test Your App or Website
PPT
Activity Diagram
Flowtown case study for #sllconf
Testing types (simple)1
Smoke testing with Go
Test Driven Development
How to Run a Smoke Test
Smoke Testing: Test Your App or Website
Activity Diagram
Ad

Similar to Smoke testing a_necessary_evil! (20)

PPTX
What is-smoke-testing ?
PDF
The Most Comprehensive and Friendly Guide On Smoke Testing [with Examples].pdf
PDF
Introduction to Smoke Testing.pdf
PDF
What is the difference between Smoke Testing and Regression Testing?
PPTX
Software testing strategies And its types
PPTX
Software testing regression testing
PPTX
WEEK 2 SOFTWARE TESTING TRAINING MANUAL _TYPES OF TESTING FINAL.pptx
PDF
Smoke Testing vs Sanity Testing Key Differences
PDF
Smoke testing vs sanity testing - Codemech
DOCX
DOCX
Testing type
PDF
Sanity Testing Vs. Smoke Testing: All You Need to Know!
PPTX
Fundamentals of Software Engineering
PDF
Difference Between Smoke Testing and Regression Testing.pdf
PDF
Real Time software Training in Nagercoil
PDF
TDD Presentation
PPTX
Regression testing
DOCX
Qc trg 16 apr 2020
DOC
Testing
PDF
Software testing
What is-smoke-testing ?
The Most Comprehensive and Friendly Guide On Smoke Testing [with Examples].pdf
Introduction to Smoke Testing.pdf
What is the difference between Smoke Testing and Regression Testing?
Software testing strategies And its types
Software testing regression testing
WEEK 2 SOFTWARE TESTING TRAINING MANUAL _TYPES OF TESTING FINAL.pptx
Smoke Testing vs Sanity Testing Key Differences
Smoke testing vs sanity testing - Codemech
Testing type
Sanity Testing Vs. Smoke Testing: All You Need to Know!
Fundamentals of Software Engineering
Difference Between Smoke Testing and Regression Testing.pdf
Real Time software Training in Nagercoil
TDD Presentation
Regression testing
Qc trg 16 apr 2020
Testing
Software testing

Recently uploaded (20)

PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
STKI Israel Market Study 2025 version august
PPTX
TEXTILE technology diploma scope and career opportunities
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Build Your First AI Agent with UiPath.pptx
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPTX
Chapter 5: Probability Theory and Statistics
DOCX
search engine optimization ppt fir known well about this
sustainability-14-14877-v2.pddhzftheheeeee
STKI Israel Market Study 2025 version august
TEXTILE technology diploma scope and career opportunities
Microsoft Excel 365/2024 Beginner's training
Consumable AI The What, Why & How for Small Teams.pdf
Enhancing plagiarism detection using data pre-processing and machine learning...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Build Your First AI Agent with UiPath.pptx
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
Zenith AI: Advanced Artificial Intelligence
Final SEM Unit 1 for mit wpu at pune .pptx
Taming the Chaos: How to Turn Unstructured Data into Decisions
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Custom Battery Pack Design Considerations for Performance and Safety
sbt 2.0: go big (Scala Days 2025 edition)
NewMind AI Weekly Chronicles – August ’25 Week III
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Chapter 5: Probability Theory and Statistics
search engine optimization ppt fir known well about this

Smoke testing a_necessary_evil!

  • 1. Smoke Testing – A Necessary Evil!
  • 2. Smoke Testing – A Necessary Evil! Introduction Increase in competition and leaps in technology have forced companies to adopt innovative ap- proaches to have an application which is 100% error free (well almost!). Having more features and functionality may not necessarily translate into success for a product or application—what ultimately counts is how stable the end user finds these features. This can be achieved by applying different types of testing methods and one such type of testing is “Smoke Testing”. Smoke testing is a good practice to ensuring that a build meets minimum quality requirements. It instills confidence, develops a good understanding between development and testing team, provides a structured approach and shortens the testing cycle while improving the overall quality of the build(s) or release. The quality and functioning of the developed software is improved as functional, architec- tural and component level design defects are found earlier. A good test strategy includes smoke testing as one of the key activities and is often defined as accep- tance criteria before a build is deployed for further detailed testing by a testing team. What Is Smoke Testing? A smoke test is a series of test cases that are run prior to commencing with full-scale testing of an application. Smoke testing is non-exhaustive testing, ascertaining that the most crucial functions of a program work, but not bothering with finer details. The idea is to test the high-level features of the application to ensure that the essential features work. If they do not work, there is no need to continue testing details of the application, so the testing team will refuse to do any additional testing until the smoke test suite passes. This puts pressure on the development team to ensure that the testing team does not waste valuable testing time with code that is not ready to be tested. Once smoke tests are implemented as part of your software development life cycle, you will see the overall quality of the product improve and the sensitivity to producing high quality software in- creased. Smoke Tests - How to To implement smoke tests, the testing team will develop a set of test cases that are run any time a new Implement release is provided from the development team. These set of test cases are used to test the major func- tional areas of the system. They are not nit-picky test cases that test low-level detail of the application; they are higher level test cases that test overall functionality. It will be more productive and efficient if the smoke test suite is automated or it can be a combination of manual and automated testing. To ensure quality awareness, the smoke test cases are publicized to the development team ahead of time, so that they are aware of the quality expectations. Components of a Smoke It is important to focus on the fact that smoke test suite is a “shallow and wide” approach to the test- Test Suite ing. The test suite should comprise all areas of the application without getting too deep, looking for answers to basic questions like, “Can I launch the test item at all?”, “Does it open to a window?”, and “Do the buttons on the window perform actions as intended”? These written tests can either be performed manually or using an automated tool. One way to ensure that smoke test suite comprises of “shallow and wide” test cases is by focusing on positive tests only. A positive test is used primarily, if not solely, to validate that a given system, www.mindlance.com testing@mindlance.com
  • 3. Smoke Testing – A Necessary Evil! function, operation, etc. works as designed when a user enters the right data, in the right place, at the right time, clicks the right buttons, etc. The smoke test suite should ideally include at least one test case for every feature or function of all the modules. Smoke test suite need not be part of the regression test suite; this reduces or avoids the redundancy or repeatability of the tests that do not add value during regression testing. Typical issues uncovered by a good smoke test suite are: „„ Initial environment setup or configuration issues „„ Overall application stability issues „„ Features those are not yet available or not functioning Responsible Parties for Smoke testing is either done by developers before the build is released or by testers before accepting Smoke Testing a build for further testing. In either case, it is important to define the roles and responsibilities at the beginning of the project. If indeed the development has a detailed unit test suite, then generally the smoke testing responsibility is shifted to testing team. Summary Typical Characteristics of Smoke Testing „„ It exercises the entire system from end-to-end. Stress should be given to detect those errors which can stop the system from functioning further „„ It is not exhaustive but should be capable of exposing major problems „„ It ensures that the major functionality is working and the build is stable enough for further testing thoroughly. Advantages of Smoke Testing " It minimizes integration risk. One of the greatest risks that a team project faces is that, when the different team members combine or “integrate” the code they have been working on sepa- rately, the resulting composite code does not work well. Depending on how late in the project the incompatibility is discovered, debugging might take longer than it would have if integration had occurred earlier, program interfaces might have to be changed, or major parts of the system might have to be redesigned and re-implemented. In extreme cases, integration errors have caused projects to be cancelled. The daily build and smoke test process keeps integration errors small and manageable, and it prevents runaway integration problems. " It reduces the risk of low quality. Related to the risk of unsuccessful or problematic integra- tion is the risk of low quality. By minimally smoke-testing all the code daily, quality problems are prevented from taking control of the project. You bring the system to a known, good state, and then you keep it there. You simply don’t allow it to deteriorate to the point where time-consuming quality problems can occur. " Uncover major problems. A good designed smoke test can increase the probability of finding a major problem when software is built early in the cycle. It also uncovers defects not related to coding but that arise because of wrong or incomplete setup or configuration; such as database, server, firewall, application parameters etc. Thus you catch defects earlier in the cycle. " Save time and cost. If a major problem is detected at an earlier stage, it can save huge time and cost than if the same error was discovered late in the cycle. www.mindlance.com testing@mindlance.com