Best Practices of Test Automation

To get maximum ROI out of automation, here are some best practices to be followed:

 

1. Scope of Automation needs to be determined in detail before the start of the project. This helps in having a predictable and well defined automation plan which can be executed in order to achieve automation goals.

 

2. Selecting the right automation tool: The right automation tool is the one which is most effective in helping you achieve all your automation goals with minimal efforts and easy to maintain. Test Tool selection largely depends on the technology the Application Under Test (AUT) is built on. For instance QTP does not support Informatica. So QTP cannot be used for testing Informatica applications. It’s a good idea to conduct Proof of Concept of Tool on AUT.

 

3. Scripting Standards: Coding Guidelines should be followed while writing the automation scripts, like:

  • Create uniform scripts, comments and indentation of the code
  • Adequate Exception handling: System failure or unexpected behavior of the application should be handled gracefully (without crashing).
  • User defined messages should be coded or standardized for Error Logging.

 

4. Measurement metrics: Success of automation cannot be determined by only comparing the manual v/s automation effort, but also by capturing the following metrics:

  • Time required for executing automation testing for each and every release cycle
  • Reduction in Time taken for release Productivity improvement
  • Customer satisfaction Index & %age of defects found

The above guidelines if observed can greatly help in making your automation successful.

Read More

Automation Process

It is good to follow a detailed process to achieve best results from automation. Automation has following important stages:

A) Planning, Design & Development

B) Execution & Reporting

C) Maintenance

A) Planning, Design & Development

During this phase we create Automation strategy & plan, which contains following details:

i. Scope of automation

ii. Selecting the right Automation tool

iii. Framework design and its features

iv. Automation test bed preparation

v. Schedule and Timeline of scripting and execution

vi. Deliverables of automation testing

B) Execution & Reporting

During this phase, automation scripts are executed and test reports are generated. Execution can be performed using the automation tool directly or through the Test Management tool which will invoke the automation tool. Automation scripts can be executed overnight to save time.

C) Maintenance

There are new features added in the Product as every product is evolving over time for various reasons. So, with all these new features & functionalities, the scope of testing also increases and there is need to continuously updating automation scripts to address all these changes. This is an on-going process and requires dedicated Automation teams throughout the product life cycle.

I. Scope of automation

While defining the scope of automation, we need to identify which test cases should be automated and which not.

What to Automate?

  • Test Cases which are important to be repeated in every cycle of product development.
  • Test Cases which are time consuming & tedious to execute manually.
  • Test Cases which are High Risk or Business Critical.
  • Test Cases which are very difficult to execute manually because there are more chances to commit human errors while executing them because of human errors.
  • Test Cases which are easy to automate & it’s cost effective.

What Not to Automate?

  • Test Cases which are not easy to automate and it will be such a huge effort to automate that it will not be profitable to spend so much effort to automate them.
  • Test Cases which are not required to be repeated often.
  • Test Cases for which the requirements are changing frequently.
  • Test Cases for which human intervention is a must.
  • Test Cases which are not important.

II. Selecting the right Automation Tool

Selecting the right tool can be a tricky task. First, identify the requirements, explore various tools and its capabilities, set the expectation from the tool and go for a Proof of Concept (POC).Following criterion will help you select the best tool for your requirement:

  • Support for various types of test – including functional, regression, etc…
  • Environment/Platform Support
  • Feature coverage
  • Time and cost to learn the tool
  • Scripting Language requirements
  • Ease of use & maintenance
  • Keywords supported
  • Extensive test reports and results
  • Cost Effectiveness

Note: If you have chosen TestOptimizer to handle all your web-testing, you don’t need to plan anything about scripting as there is no scripting required. TestOptimizer magically runs all your test cases directly from the spreadsheet you write your test cases in. Obviously, it saves you lots of dollars as well as resource time and you get more bandwidth to focus on moving fast to develop your product to beat the competition!!! To know more about this amazing web-testing tool, visit www.TestOptimizer.com

Read More