Automation Engineer Masters Program (4 Blogs)
AWS Global Infrastructure

MI-new-launch

myMock Interview Service for Real Tech Jobs

myMock-widget-banner-bg

What is Smoke Testing? Everything That You Need To Know About Smoke Testing

Last updated on Jun 14,2019 231 Views

MI-new-launch

myMock Interview Service for Real Tech Jobs

myMock-mobile-banner-bg

myMock Interview Service for Real Tech Jobs

  • Mock interview in latest tech domains i.e JAVA, AI, DEVOPS,etc
  • Get interviewed by leading tech experts
  • Real time assement report and video recording

The prime objective of any software project is to get a high-quality output while reducing the cost and the time required for completing the project. So, every software product is subjected to various levels of rigorous software testing before it is deemed fit to be released to the market. A preliminary level of testing is performed to find basic and critical issues in an application before critical testing is implemented. Its called smoke testing. In this article, we will explore ‘What is Smoke Testing?’ in detail.

Let’s take a look at topics covered in this article:

What is Smoke Testing?

Smoke Testing is a type of software testing which is usually performed on initial software builds to make sure that the critical functionalities of the program are working absolutely fine.

What is Smoke Testing

Not sure what software build is? A software build is a process by which source code is converted to a stand-alone form that can be run on any system. It is always a risk that the build does not work properly on the environment. because of reasons like configuration issues, code issues, regression issues or environmental issues. So, an initial build is subjected to smoke testing before its sent to other levels of testing. The process of smoke testing targets all key functionalities. If key features aren’t working, or major bugs haven’t yet been fixed, there’s no reason to waste time on further testing.

Origin of Smoke Testing

Have you wondered why the name ‘smoke testing’? From the time smoke testing came into existence, there are a lot of theories associated with the nomenclature. However, out of these only two seem to appropriately define its origin:

According to Wikipedia, the term ‘smoke testing” likely originated in the plumbing industry. Plumbers usually would use smoke to test for leaks and cracks in pipe systems. Later the term was applied to testing of electronics.

Another theory states that the term ‘smoke testing’ originated from the hardware testing, where a device when first switched on is tested for the smoke from its components.

 

Today, the concept of smoke testing is widely used in the software development process. Well, you might not actually find any smoke in real, but the same principles are applied in smoke testing software. To understand the concept more properly, this ‘What is Smoke Testing?’ article further lists the features of smoke testing.

Features of Smoke Testing

Listed below are the key features of smoke testing that you should be aware of:

  • Smoke testing is often referred to as Build Verification Testing, where the build is verified by testing the important features of the application and then sent for next levels of testing bases in test results
  • Its integral part of the software development cycle where the build is verified by testing the important features of the application
  • Smoke Tests can be executed manually or can be automated based on the test requirements
  • It is applicable to different levels of software testing like integration testing, system testing, and acceptance testing.
  • This is non-exhaustive testing with a very limited number of test cases. Usually, smoke testing is performed with positive scenarios and with valid data. And the entire process is documented.

In simple terms, you can think of smoke testing as normal health checkup of a build of an application. Rest of this ‘What is Smoke Testing?’ article, let’s check out some important questions related to smoke testing.

When to do smoke testing?

Smoke testing is usually done whenever the new functionalities of the software are developed and integrated with an existing build. This ensures that all critical functionalities are working correctly or not. It’s done by developers in the development environment to ensure the correctness of the application before releasing build to QA. After the build is sent to the QA environment, smoke testing is performed by QA engineers. Whenever there is a new build, QA team determines the major functionality in the application to perform smoke testing. 

Smoke Testing explained with example

This actually answers the second question as well, “Who performs Smoke Testing?’. Smoke testing is performed either by developers or testers or both.

What are the advantages of Smoke Testing?

Smoke testing is basically a superficial level of testing performed on initial software builds to make sure that all the key functions of application work. Doing so offers a lot of advantages as listed below:

  • You can find bugs and defects in the early stages of testing
  • Minimizes the risks that arise when multiple components are integrated
  • Easy to perform & improves the quality of software
  • Saves a lot of effort and time for testers & developers
  • Requires a very limited number of test cases
  • Enables faster troubleshooting of new and regression bugs
  • Offers the advantage of getting faster feedback
  • Reduces manual intervention
  • Improves the effectiveness of the QA team.

The thing with the smoke test is that it takes your code, builds it, runs it, and verifies a thing or two. But it will not verify if your software is 100% functionally correct or not.

How is Smoke Testing Performed?

Smoke testing is performed just like any other type of testing. Here are the steps that you can carry out to smoke test the software:

  1. Builds are deployed by the development team and are then sent to the testing team for testing
  2. Once the QA team receives the builds, according to the requirement they design the test cases
  3. A number of smoke tests are combined into a small test suit. To be efficient and purpose-built, a smoke test suite should contain an easily manageable number of tests
  4. Automation can prove to be efficient & worthy in smoke test suits, so automate the smoke test if required. There are a number of automation frameworks available for smoke testing
  5. Lastly, execute the test cases and clean up the test environment fit for the next rounds of testing. This might include stopping a server, deleting files, or emptying database tables.

Let’s try to figure this out with a real-time example.

Smoke TestingEx - What is Smoke Testing? - Edureka

Let’s say, you are working on an e-commerce site. You have a few initial builds that are ready to be released for testing. First thing you need to do is to check if the core functionalities are working or not. So, you try to access the site and add an item to your cart to place an order. Well, that’s the major workflow of any e-commerce site, right? If this primary workflow works, you can say that the build that you have subjected to testing has passed the smoke test. You can then move on to next rounds of testing. There is another term, known as sanity testing, that is often misunderstood for smoke testing. 

Smoke Testing vs Sanity Testing

Smoke testing and sanity testing are two very different practices. But people still get them confused, since the distinction is somewhat subtle. The table below lists the key differences between smoke testing and sanity testing.

FeaturesSmoke TestingSanity Testing
System Builds
Tests are executed on initial builds of software product
Tests are done over builds that have passed smoke tests & rounds of regression tests 
Motive of Testing
To measure the stability of the newly created build to face off more rigorous testing
To evaluate rationality & originality of the functionalities of software builds
Subset of?
Is a subset of acceptance testing
Is a subset of regression testing
Documentation
Involves documentation and scripting work
Doesn’t emphasize any sort of documentation
Test Coverage
Shallow & wide approach to include all the major functionalities without going too deep
Narrow & deep approach involving detailed testing of functionalities and features
Performed By?
Executed by developers or testers
Executed by testers

 

 

So, that’s it, guys! With this, we have reached the end of this article. Hopefully, by now, you have the basic knowledge of what smoke testing is. In conclusion, smoke tests offer a simple, straightforward yet supremely effective option to speed up finding bugs. Developers and others alike can use smoke tests in software projects, and can dramatically improve code quality.

If you found this “What is Smoke Testing?” article relevant, check out the live-online Selenium Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. 

Got a question for us? Please mention it in the comments section of this ‘What is Smoke Testing?” article and we will get back to you. 

Comments
0 Comments

Browse Categories

Subscribe to our Newsletter, and get personalized recommendations.