Thursday, July 18, 2019

Word of the Day: smoke testing

Word of the Day WhatIs.com
Daily updates on the latest technology terms | July 18, 2019
smoke testing

Smoke testing, also called build verification testing or build acceptance testing, is nonexhaustive software analysis that ascertains that the most crucial functions of a program work but does not delve into finer details.

Smoke testing is the preliminary check of the software after a build and before a release. This type of testing finds basic and critical issues in an application before critical testing is implemented.

The term smoke testing originates from a similarly basic type of hardware testing in which a device passes the test if it doesn't catch fire the first time it turns on. Daily build and smoke tests are among industry best practices advocated by the Institute of Electrical and Electronics Engineers in Code Complete by former IEEE editor in chief and software engineer expert Steve McConnell.

How smoke testing works

Quality assurance (QA) testers perform smoke testing after the developers deliver every new build of an application. If the code passes the smoke testing, the software build moves on to more rigorous tests, such as unit and integration tests. If the smoke test fails, then the testers have discovered a major flaw that halts all further tests. QA then asks developers to send another build. This one broad initial test is a more effective strategy to improve software code than if the team conducted specific and rigorous tests this early in the development process.

Smoke testing is also performed from the perspective of user experience (UX). This approach includes testing key functionalities, such as if the build is accessible or if the user interface (UI) and login mechanism function. Other key functionalities include if an action selection correlates with the intended action. For example, if a user adds an item to a shopping cart in an e-commerce web application, does the item appear in the cart?

Automation and smoke testing

Automated smoke testing can drastically cut down on testing time. Manual testing can take half a day depending on the number of smoke tests involved. After automating those tests, smoke testing can take only a few minutes. If developers make builds frequently or if continuous testing is implemented, then automating smoke tests will enable QA testers to give faster feedback on test builds.

Tools for automated smoke testing include Selenium and PhantomJS. Selenium is an open source software that can automate and run testing parameters on multiple web browsers. Selenium automates control of browsers on various operating systems (OSes). PhantomJS is an option for integration and automation with continuous integration (CI) tools, such as Jenkins and TeamCity. PhantomJS is not resource-intensive and works well in networking monitoring.

Smoke testing vs. regression testing

Regression testing is a separate way to verify good software code. Regression testing ensures that changes to a program do not add new bugs that inadvertently compromise the performance or integrity of the software. Similar to smoke tests, regression tests should be implemented often, with every new build. Unlike smoke tests, however, regression tests are in-depth and detailed.

Regression tests target specific operations of software and can take a few hours to complete. For example, regression testing explicitly checks each link on an updated webpage to verify that each link still works as intended. Some use cases in regression testing can be automated, such as verifying that adding an item to a cart works or that users can still navigate to their cart and pay.

Smoke testing and sanity testing

There is confusion between the terms smoke testing and sanity testing in the software industry. Some professionals use the term sanity testing as an equivalent to smoke testing, while others use sanity testing as a term that refers to a subset of regression testing. When the term sanity testing is used to mean a subset of regression testing, the scope of testing is often assumed to be narrow and in-depth.

Quote of the Day

 
"The combination of early smoke tests and later full regression tests lets organization cost-effectively speed application development." - Lubos Parobek

Learning Center

 

How to meet QA responsibilities during a software tester shortage
Don't abandon QA responsibilities when in the middle of a software tester shortage. Here's when it makes sense to seek out a testing-as-a-service provider or shift QA tasks to developers.

3 ways to test in production promptly and productively
The proliferation of app dev advances, like automation, Agile and DevOps, prompted QA professionals to increasingly test in production. Use these three methods to perform timely and efficient QA in applications' live environments.

Move into better QA with shift left and shift right testing
Traditional QA causes traditional problems -- namely, bottlenecks and long bug resolution times. Shift left and shift right testing aim to solve those problems, as these approaches make developers more accountable for code quality and incorporate user feedback.

Software tester roles must embrace code focus
As IT works together on QA and continuous testing takes hold, software tester roles must adapt to understand code and catch bugs early in the process. However, some worry that an overemphasis on code will erode traditional QA expertise.

Why DevOps development depends on continuous testing
Continuous testing isn't the sole responsibility of QA and IT ops professionals. If DevOps teams really want to operate at peak efficiency, then development must evolve and absorb some of the testing load.

Quiz Yourself

 
Treating testing as a ________ rather than something that should be done continuously throughout software development is a recipe for defective software.
A. phase
B. faze

Answer

Stay in Touch

 
For feedback about any of our definitions or to suggest a new definition, please contact me at: mrouse@techtarget.com

Visit the Word of the Day Archives and catch up on what you've missed!

FOLLOW US

TwitterRSS
About This E-Newsletter
This e-newsletter is published by the TechTarget network. To unsubscribe from Whatis.com, click here. Please note, this will not affect any other subscriptions you have signed up for.
TechTarget

TechTarget, Whatis, 275 Grove Street, Newton, MA 02466. Contact: webmaster@techtarget.com

Copyright 2018 TechTarget. All rights reserved.

No comments: