Why We Need Test Automation ?
And it is true, why? In his famous article “What is Test Automation” Steve Rowe wrote:
“Test automation is simply an automatic way of doing what testers were doing before”.
A little later, Steve found it necessary to clarify his position:
“I am describing test automation, not testing. The two are far from synonymous. Test automation * is * a replacement for what testers once did, but it isn’t a replacement for all of what testers do. ”
But the genie was out of the bottle of the original article, and shove it back was not easy. Steve publication caused a lot of responses. The most reasonable of them can find the answer, which published James Bach. James writes :
“Test automation is any use of tools to aid testing. Test automation has been around since DAY ONE of the computing industry. And never in that history has test automation been an “automatic way of doing what testers were doing before”, unless you ignore a lot of what testers actually do. ”
James further develops its point of view and finally notes (by the way, comments on articles deserve special consideration)
“Test automation cannot reproduce the thinking that testers do when they conceive of tests, control tests, modify tests, and observe and evaluate the product. Test automation cannot perform sapient testing. Therefore, automation of testing does NOT mean automation of the service provided by the software tester.
In summary, test automation means applying tools to testing … ”
So, according to James, test automation has the use of various tools in the process of testing applications. We agree with this point of view and try to develop this topic.
Software development process can be built on different models . Nabolee known waterfall model , and the most popular at the moment are the so-called “flexible” technology . Each of the models suggests that a method of developing and adding new functionality. Comparison of methods is beyond the scope of this article, so let’s at it.
Waterfall model (in the base case) implies a certain fixed sequence of stages of development (Requirements -> Design -> Implementation -> Verification -> Maintenance.) All requirements for the product to shake down in advance, and testing is given a separate step, which can lay the time required to thorough testing of the application. Looks reasonable, but the world is more complex. Product requirements may change during the process of development and market competition makes it necessary to release updates to the operational products. In such circumstances, agile-technology come to the fore, and product testing to allocate as much time as allocated in the waterfall model is not possible.
But we do not want to sacrifice quality , right? Here come to the rescue and self-tests. Smartly written and debugged autotests allow promptly conduct regression testing product functionality and testers will have the time to test the new functionality for intuitive, creative analysis of the application – to the analysis, those bugs that can not be found in automated testing, but the correction is critically important for the quality of the product.
Note that the regression testing – not only the scope of the Autotest. Performance analysis, stress resistance, product localization – this is not a complete list of stages of development, in which self-tests will be invaluable.