Skip to main content
What is a Smoke Test?
Smoke testing is non-exhaustive software testing, to prove that the most crucial functions of a
program work, but not bothering the finer details. A smoke test is similar to the basic type of
hardware testing, in which the device passed the test if it didn’t catch fire the first time when it
was turned on. The term is also used metaphorically, especially in computer programming, where
it is also called a "sanity test
Most of the software companies follow the “daily build and smoke test” process. Each day every
file is compiled, linked, and combined into an executable program and the program has to pass
through a “smoke test,” a relatively simple check to see whether the product “smokes” when it
runs. After performing a smoke test the tester can come to a conclusion that the software can be
accepted or rejected for a major round of testing.
Benefits of Smoke Testing
Reduces Integration Risks
I have encountered many instances in the past where the entire software gets
screwed up when the source code is integrated. The composite code does not
work well. The integration issues will lead to a delay in the delivery of the
product/project. The smoke tests may help to reduce the integrations issues to a
good extent.
Defect Diagnosis.
The product which worked on second day and failed on the third day .One can
easily find out what has gone wrong from the previously working build.
Improves Morale.
The morale gets boosted .Everyone will be happy to see the improvement in the
product working as one is seeing that in a day to day basis
Progress Monitoring.
When you build the every day, the features that are present and absent are obvious.
Once can get a sense of how close it is to completion.
How to Smoke Test?
1. Code Merge : The programmer compares his copy of the source files with the master
source files, checking for inconsistencies between recent changes made by other
developers. The programmer then merges the code changes with the master source files.
Source code control tools can be used for this purpose.
2. Private Build : The programmer builds and tests the software to ensure that newly
implemented feature works as expected.
3. Execute the smoke test: The developer runs the current smoke test against the private
build to be sure the new code won’t break the build.
4. Code Checkin:. The developer checks his or her private copies of the source code into
the master source files.
Article on Smoke Testing
4
5. Generate the daily build: The build team generates a complete build of the software from
the master sources.
6. Run the smoke test: The build team runs the smoke test to evaluate whether the build is
stable enough to be tested.
7. Fix problems immediately: If the build team encounters errors that prevent the build from
being tested (that break the build), the developer who checked in the code is notified, and
that developer fixes the problem immediately.

Comments

Popular posts from this blog

Quantum Computing Trends

With the advancements in technology, we shifted from traditional computers to its digital version, which included zero’s and one’s and now, to the latest and fastest upgraded computers i.e. Quantum Computers. Built on the pioneering ideas of physicists Richard Feynman and David Deutsch in the 1980s, Quantum Computers leverage the unique properties of matter at nanoscale. Quantum computing uses quantum physics to solve the problems which today’s computers can never tackle. There are two characteristics of quantum computer which make them the computers of the future. First, quantum computing is built on qubits that can be overlays of zero and one i.e. half part of a zero and a half part of a one at the same time. Second, qubits become entangled and exist in groups. Because of its capability to solve problems, high speed and accuracy, quantum computing has immediate applications in fields like pharmaceutical, cryptography, machine learning and search. Realizing the pot...

TDD BDD and SDET REsume

 **TDD vs BDD** Test-Driven Development (TDD) and Behavior-Driven Development (BDD) are both agile methodologies but with distinct focuses and processes. TDD vs BDD a developer-centric practice, emphasizes writing tests before the actual code, guiding software development through small, testable chunks. It's particularly effective in ensuring that the codebase remains bug-free and maintainable. BDD, on the other hand, extends TDD by specifying software behaviors using a language understandable by all stakeholders, including non-technical ones. This approach fosters collaboration and a shared understanding of the project's goals, making it easier to align development with customer needs and expectations. While TDD is focused on the technical aspects and validation of software functionality, BDD is more about clear communication and the behavior of the application from the user's perspective. **SDET Resume** An SDET Resume should effectively showcase a blend of software dev...

7 Software Testing Books Worth Reading!