What is automation testing and why?
To understand Automation testing, we must have a understanding of how testing is done.( discussed in another blog). Just to refresh, before automation, we undertake manual testing, retesting and Regression Testing–which are then automated.
Retesting is to test the application to verify whether defects have been fixed or not.
Regression testing is re-execution of some or all test cases of a testing activity for each build to verify that changes or fixes made have not introduced new errors.
Regression testing is done in three situations.
a. After fixing the bug
b. If a new change request comes from the client.
c. when environment changes.
Then we have to verify whether already existing functionality, if effected, is introducing any defects/bugs or not.
As such Automated testing is automating the Manual Testing Process. As such Manual testing process would contain a set of guidelines documented to conduct the tests.
The document for a test method might include:
- Descriptive title
- Scope over which class(es) or modules or functionalities may be evaluated
- Date of last effective revision and revision designation
- Reference to most recent test method validation
- Person, office, or agency responsible for questions on the test method, updates, and deviations.
- The significance or importance of the test method and its intended use.
- Sampling procedures: How samples are to be obtained, and Number of samples (sample size/ number of test data).
- Detailed procedure for conducting the test
- Interpretation of data and test method output
- Expected Result
- How to report any defects
As with the Manual testing process, the same test cases are then identified which can be automated and which cannot be automated and also the the preferred automation tool which is optimally suited to automate the test cases.
For automation, minimally, should include
1. Detailed test cases including predictable expected results–Test Cases Must be documented
2. The test scripts should be able to repeated each time when there are modifications made to the application.
If the testing process is unable to satisfy the above minimal points then, the automation can not be utilized optimally and economically.
- The real use and purpose of automated test tools is to automate regression testing
- 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 application to ensure that the change does not produce unintended consequences
- An automated test script can be considered as a program
- ‘Automated Script Development’, to be effective, must be subject to the same rules and standards that are applied to software development.
- An ‘Automated Test Suite’ is a database of all detailed ‘Automation Test Cases’.
Type of Automation Tools/ Software available
1. Open Source :
- Selenium — http://www.seleniumhq.org/
- BadBoy — http://www.badboy.com.au/
- Sahi — http://sahipro.com/
- Watir — http://watir.com/
- Sikuli — http://www.sikuli.org/
- Cucumber — http://cukes.info/
- and others
HP QTP/ UFT
IBM Test Partner
Empirix eTest Suite