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 Software testing tools and techniques
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
Initiating test automation on your project team may seem challenging, or even overwhelming. Fortunately, expert Karen Johnson has been through this ... Continue Reading
New mobile phone models enter the market all the time, and it seems daunting to perform application testing on the various devices available. Expert ... Continue Reading