The term "smoke test" is from engineering environment:
"With the commissioning of the new equipment ("hardware"), it was thought that the test was successful, if smoke is not emitting from the plant".
In the software sphere, the smoke testing is consider as a short test cycle performed in order to confirm that after the code assembly (new or amended) the settable application starts and performs basic functions.
"Regression testing" - is a type of testing which is direct to test changes made in the application or environment (repair of the defect, the merging of code, migration to a different operating system, database, web server or application server) to confirm the fact that the pre-existing functionality works like before (see also sanitary testing or verification of consistency/serviceability).
Testing can be divided into two of the most obvious kind:
— manual
— automatic
The difference of these species consist of autotest execution process where the most part of the actions and often entirely, is making with special tools, human intervention is practically excluded from the process of passing the test. And vice versa for manual testing.
With manual testing all seems like clear. Let's talk about automatic testing. In companies with a serious approach to application development is necessary using testing with special tools.
Autotest bring a number of advantages:
- Repeatability — all written tests will always be carried out uniformly, ie, "human factor" is exclude. The tester will not pass the test for negligence and do not mess up in the results.
- Rapid implementation — automated scripts do not need to consult the instructions and documentation, it saves much run time.
- Lower support costs — when automated scripts is already written, for their support and analysis of results is required, usually the less time than carrying out the same test volume manually.
- Reports — Automatically sending and saving reports about the test results.
- Performing without intervention — during the test, the tester engineer can do other useful things, or tests may be performed during off-hours (this method is preferred, since the load on the local network at night is reduced).
It should be noted by developers that writing tests before the development significantly increases the efficiency of development. Because we can immediately check the new written fragment.
Summing up we can say that auto-tests greatly increase the speed and quality of application development. Their presence makes it possible to check the old defects and reproduce the old tests, and it is a huge advantage in quality assessment.
In turn, with the improving the quality of the product, and reducing the number of defects in the application, the rating of the company is significantly increased as well as customer satisfaction. With the improvement of the quality you can easily increase the price of the rendering services.