What is automation / automated testing
Filed Under Terms, Techniques, Testing, Process, Development, Software | Posted on August 31, 2007
Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process. Simply put, what is meant by “Automated Testing” is automating the manual testing process currently in use. This requires that a formalized “manual testing process” currently exists in your company or organization. Minimally, such a process includes:
* Detailed test cases, including predictable “expected results”, which have been developed from Business Functional Specifications and Design documentation
* A standalone Test Environment, including a Test Database that is restorable to a known constant, such that the test cases are able to be repeated each time there are modifications made to the application
Automated testing is a strategic step today and is gaining a lot of focus in the product development world. Automation reduces the testing cycle times while enhancing the quality of testing. This further enables the test staff to focus on deeper aspects of testing. Testing and automation can start at the product development stage itself and span until the end-of-life stage of the product.
If your current testing process does not include the above points, you are never going to be able to make any effective use of an automated test tool. So if your “testing methodology” just involves turning the software release over to a “testing group” comprised of “users” or “subject matter experts” who bang on their keyboards in some ad hoc fashion or another, then you should not concern yourself with testing automation. There is no real point in trying to automate something that does not exist. You must first establish an effective testing process.
The real use and purpose of automated test tools is to automate regression testing. This means that you must have or must develop a database of detailed test cases that are repeatable, and this suite of tests is run every time there is a change to the application to ensure that the change does not produce unintended consequences.
An “automated test script” is a program. Automated script development, to be effective, must be subject to the same rules and standards that are applied to software development. Making effective use of any automated test tool requires at least one trained, technical person – in other words, a programmer.
Leave a Reply