Software Automation Testing concepts - What is automation testing

While moving from manual testing to automation many question arrives in our mind about automation. I tried to summaries few generic concepts in this article which will be helpful for those who moving to automation

In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.(wiki)

Automation can be divided into two categories

  • Functional Automation
  • Non Functional Automation
Concept of automation is same like functional and non functional testing. For example if you want to automation functional testing its called functional automation and if you want to automate non functional automation its called non functional automation

Benefits of Software Automation Testing

  • Test automation enables one to achieve detailed product testing with significant reduction in test cycle time.
  • The efficiency of automated testing incorporated into product lifecycle can generate sustainable time and money savings.
  • Better, faster testing.
  • Rapid validation of software changes with each new release of application is possible.
  • Automated testing increases the significance and accuracy of testing and results in greater test coverage.
  • Automated testing offers a level of consistency, which is not achievable through the use of manual testing.
  • Automated testing eliminates the time constraints associated with manual testing. Scripts can be executed at any time without human intervention.
  • Automated test scripts are re-usable, and can be used across varying scenarios and environments.
  • Enhanced productivity.
  • Automation eliminates many of the mundane functions associated with regression testing.
  • Manual Testing of all work flows, all fields , all negative scenarios is time and cost consuming
  • It is difficult to test for multi lingual sites manually, automation is a big support for this.
  • Automation does not require Human intervention. You can run automated test unattended (overnight)

When to automate

  • If you are working in Agile
  • Regression test cases
  • Multilingual websites
  • GUI Testing
  • Performance testing
  • Acceptance test cases if they are in large amount

Risks involved in Automation Testing

  • Resources skills
  • Automation tool cost
  • Frequent changes in GUI
  • Tool selection

Automation Tools

There  are many automation tools available in market , i have listed few best tools available in market
  • Selenium
  • HP UFT
  • Test Complete
  • MS Test Manager ( Coded UI)
  • Telerik Test Studio
  • Watir

 Automation Tool Selection

The second step in test automation tool evaluation is the selection of tools. While selecting tools it is important to remember that no single tool will satisfy all the requirements. The tool that meets most of the evaluation criteria should be chosen after discussion with stakeholders. Based on the tools limitations with respect to requirements, the automation activities must be planned. All tools that meet most of the evaluation criteria can considered for evaluation. When many tools are found to satisfy the evaluation criteria, further analysis of tools should be done. Ÿ
  • Environment Support
  • Ease of use
  • Testing of Database
  • Object identification
  • Image Testing
  • Error Recovery Testing
  • Object Mapping
  • Scripting Language Used
  • Support for various types of test - including functional, test management, mobile, etc...
  • Support for multiple testing frameworks
  • Easy to debug the automation software scripts
  • Ability to recognize objects in any environment
  • Extensive test reports and results
  • Minimize training cost of selected tools