| || |
Smoke vs Regression
During what phase or when smoke and regression testing is preferred?
Difference between Smoke and Regression testing?
Smoke is basically run before formal delivery. It's a trimmed down set of tests to give a quick ok or not ok for further testing. Usually this is done in 5-10 minutes. The idea is just to check if things are critically broken where further testing in that state adds no value.
Regression is pretty much all your tests. When automated, usually will run either nightly, or quickly following a formal delivery a build. When done manually, it's usually done as the last step before the release after testing the affected areas and verifying changes. The idea here is to verify you didn't break anything in the process.
Regression are type of test designed to look for regression in your code. That is defect that did not exist in prior releases.
Smoketest is generally a misnomer used as some sort of release vehicle mechanism, which it isn't. It generally describes smaller subset of tests focused on breadth over depth to get an overall sense of quality of software.
Your thought process is out-dated. You should automate your tests, make them run fast, and run them as frequently as possible so you can minimize the list of changes in the code so engineers can quickly pinpoint when the problem was introduced.
If you are talking about manual, that's a far more complex problem. You typically schedule a full regression testing at each major release points. As defects are found and fixes are introduced in each of these, you create a test plan that consists of smoke tests and subset of regression tests targeted in the impacting areas.