What is the difference between retesting and regression testing? And the difference between smoke testing and sanity testing?
Retesting is when you are testing a specific defect that has been marked or tagged by the developers as ready for testing in the build in which you are working. Regression testing is when you are testing around specific areas of an application where defects have been fixed to ensure that no other issues have been introduced. Retests and regression testing often happen in close proximity-- both time-wise and functionality-wise-- and so as a result, you may have heard the terms used interchangeably.
Smoke testing refers to a short series of tests that are executed to make sure that the build appears to be reasonably working-- the build appears to be functional. Sanity testing is the same as smoke testing. There seem to be many terms used for smoke testing; I've also heard the term acid testing. If a major part of the functionality is found to not be working from a smoke or sanity test, then the build is often turned back to development. Smoke testing doesn't prove everything is working, but usually provides a sense that the build is good enough to begin testing in earnest.
A fine line separates what defines a smoke test, or at least a smoke test worth executing, and what defines a valuable regression test.
Dig Deeper on Topics Archive
Related Q&A from Karen N. Johnson
User acceptance testing and system integration testing differ in one key way: the person who does the testing. Learn when to apply UAT vs. SIT. Continue Reading
Database testing can refer to any backend or data-related testing such as data migrations and data integrity. In this expert response, Karen Johnson ... Continue Reading
When testing user interface (UI) components of an application that uses a right to left language (RTL), there are special considerations. Software ... Continue Reading