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

Why to Automate Testing?

As the global competition is heating up day by day, emphasis on efficiency & quality is increasing in even highly successful organizations. To be more efficient, they need to reduce the time to market, production cost, time and effort. Automation plays a crucial role in achieving better efficiency by reducing the testing effort and improving the quality. That’s why, every professional software organization is focusing on ‘Automation of Testing’ and there is a huge demand of good automation engineers who can write good automation scripts in various languages as per the need. Still there is an ongoing demand of automation engineers as well as ever-growing need to automate more and more test cases & increase the test coverage to ensure better quality.

Here are few reasons about why do we need to automate.

> Manual Testing is very time consuming and costly in terms of resources. Automation increases speed of test execution. > Manual Testing can become boring and hence error prone. Automation helps in improving accuracy & reliability in results, ensures consistency. > Manual Testing of all work flows, all fields, all negative scenarios is time and cost consuming. > Automating test processes helps achieve higher quality through better coverage, in less time (70% faster than the manual testing). > By eliminating manual errors and increasing accuracy, automation makes the test process more successful in achieving its goals. > By automating, more can be done without growing staffing levels over time. > Automation does not require Human intervention. Automated tests can be run unattended (overnight). > Automation can free up time to allow programmers and testers to focus on specific changes or areas that can’t be automated. > Automation helps in reducing time to market.

Read More

See Demo Free Trial