AWS Architect Certification Training
- 56k Enrolled Learners
- Live Class
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:
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.
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.
Listed below are the key features of smoke testing that you should be aware of:
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.
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.
This actually answers the second question as well, “Who performs Smoke Testing?’. Smoke testing is performed either by developers or testers or both.
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:
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.
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:
Let’s try to figure this out with a real-time example.
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 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.
|Features||Smoke Testing||Sanity Testing|
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
Is a subset of acceptance testing
Is a subset of regression testing
Involves documentation and scripting work
Doesn’t emphasize any sort of documentation
Shallow & wide approach to include all the major functionalities without going too deep
Narrow & deep approach involving detailed testing of functionalities and features
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.