What is smoke testing? When to use it? Advantages and Disadvantages

Smoke testing is a type of software testing which ensures that the major functionalities of the application are working fine. This testing is also known as ‘Build Verification testing’. It is a non-exhaustive testing with very limited test cases to ensure that the important features are working fine and we are good to proceed with the detailed testing.

The term ‘smoke’ testing is originated from the hardware testing, where a device when first switched on is tested for the smoke or fire from its components. This ensures that the hardware’s basic components are working fine and no serious failures are found.

Similarly, when we do smoke testing of an application then this means that we are trying to ensure that there should NOT be any major failures before giving the build for exhaustive testing.

  • The purpose of the smoke testing is to ensure that the critical functionalities of an application are working fine.
  • This is a non-exhaustive testing with very limited number of test cases.
  • It is also known as Build verification testing where the build is verified by testing the important features of the application and then declaring it as good to go for further detailed testing.
  • Smoke testing can be done by developers before releasing the build to the testers and post this it is also tested by the testing team to ensure that the build is stable enough to perform the detailed testing.
  • Usually smoke testing is performed with positive scenarios and with valid data.
  • It is a type of shallow and wide testing because it covers all the basic and important functionalities of an application.
  • Usually the smoke testing is documented.
  • Smoke testing is like a normal health check up of the build of an application.

Examples for Smoke Testing

Let us assume that there is an application like ‘Student Network’ which has 15 modules. Among them, there are 4 important components like Login page, Adding student details, Updating it and Deleting it. As a part of smoke testing we will test the login page with valid input. After login we will test the addition, updating and deletion of records. If all the 4 critical components work fine then the build is stable enough to proceed with detailed testing. This is known as Smoke testing.

When to use smoke testing

Smoke testing is used in the following scenarios:

  • It is done by developers before giving build to the testing team.
  • It is done by the testers before they start the detailed testing.
  • Smoke testing is done to ensure that the basic functionalities of the application are working fine.

Advantages of Smoke testing

  • It helps in finding the bugs in the early stage of testing.
  • It helps in finding the issues that got introduced by the integration of components.
  • It helps in verifying the issues fixed in the previous build are NOT impacting the major functionalities of the application.
  • Very limited number of test cases is required to do the smoke testing.
  • Smoke testing can be carried out in small time.

Disadvantages of Smoke testing

  • Smoke testing does not cover the detailed testing.
  • It’s a non-exhaustive testing with small number of test cases because of which we not are able to find the other critical issues.

Smoke testing is not performed with negative scenarios and with invalid data.

2017 ISTQB Agile Extension Exam Dates and Test Center locations in India

ISTQB Agile Tester Extension exam dates in 2017 are given below. Please note that the exam may not be available in all cities. You can only take up the exam in the cities listed below. Please be aware that you should have passed the ISTQB Foundation Level Certification (CTFL) before you can take up the Agile tester extension. For more details you can go through the FAQ on ISTQB Agile tester extension exam. [Read more…]

What are Build and Distribution Tools in Agile software testing?

As discussed in the article of Continuous Integration, we studied that daily build and deployment of software is a key practice in Agile teams which requires continuous integration of tools and builds automation tools. Here we will take a look at how build and distribution tools are used in Agile development. [Read more…]

What are the Tools in Agile Projects?

There are many different types of Agile tools out there. Some are free, some are paid. There are many enterprise tools that support end-to-end flow of software development life cycle including requirements management, test management, defect tracking. In addition, these tools also provide task boards for distributed teams, burndown charts and creating user stories. [Read more…]

What is Exploratory Testing in Agile Methodology?

Exploratory testing plays an important role in agile testing. It is a simultaneous approach where the testers learn about the system, perform test design and write test cases. It may be sometimes combined with other experience-based testing such as analytical risk-based testing, analytical requirements-based testing, model-based testing, and regression-averse testing. [Read more…]

What is Acceptance Test-Driven Development in Agile Methodology?

Acceptance test-driven development is a test-first approach in which acceptance criteria is well understood by the development team and test cases are created based on the bullet points stated in the acceptance criteria; any modification to the acceptance criteria may done in prior planning meeting in a negotiation with the Product Owner. [Read more…]

What is Definition of Done? Test Levels in Agile software

Definition of done suggests the exit criteria of an application delivery or the condition when Testers can mark a user story as complete. There are various test levels incorporated in definition of done in Agile software development. The following list gives examples of various test levels. [Read more…]

What are Testing Techniques in Agile development?

Agile testing techniques in most cases are similar to their traditional counter parts. However, Agile methodology may need some special considerations due to variances that standout with respect to techniques, jargon and documentation. [Read more…]

What is Planning Poker? Effort estimation in Agile methodology

In the Sprint zero as a part of release planning, the Agile team has come up with effort estimation for all the stories in the release. The Planning Poker is a popular method of effort estimation which ensures that the entire team is involved in the estimation exercise. [Read more…]

How to Assess Quality Risks in Agile methodology?

Risk is an event of uncertainty in projects. There are various testing challenges like proper selection, allocation and simulation of test environment. Often risks surface in determining the effort to cover various test conditions, and the way of sequencing resulting tests that optimizes the effectiveness and efficiency of the testing. [Read more…]