What is automation Testing?
In software testing, test automation is the use of special software (separate from the software being tested) 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.
Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual testing all together.
SLIDE 2:
Why Automated Testing?
Automated testing is important due to following reasons: * Manual Testing of all work flows is time and cost consuming * Manual Validation of all fields is time and cost consuming * Manual Testing of all negative scenarios is time and cost consuming * Manual Testing of all work flows is time and cost consuming * It is difficult to test for multi lingual languages manually * Automation does not require Human intervention. You can run automated test unattended (overnight) * Automation increases speed of test execution * Automation helps increase Test Coverage * Manual Testing can become boring and hence error prone.
SLIDE 3:
Which Test Cases to Automate?
Test cases to be automated can be selected using the following criterion to increase the automation ROI * High Risk - Business Critical test cases * Test cases that are executed repeatedly * Test Cases that are very tedious or difficult to perform manually * Test Cases which are time consuming The following category of test cases are not suitable for automation: * Test Cases that are newly designed and not executed manually atleast once * Test Cases for which the requirements are changing frequently * Test cases which are executed on ad-hoc bases.
SLIDE 4:
Automation Process
Following steps are followed in an Automation Process