Manual testing is performed by a human sitting in front of a computer carefully executing the test
steps. Automation Testing means using an automation tool to execute your test case suite.The
automation software can also enter test data into the System Under Test , compare expected and actual
results and generate detailed test reports.
Test Automation demands considerable investments of money and resources. Successive development
cycles will require execution of same test suite repeatedly. Using a test automation tool it's possible to
record this test suite and re-play it as required. Once the test suite is automated, no human intervention
is required . This improved ROI of Test Automation.
Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual
testing all together.
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
Automation increases speed of test execution
Automation helps increase Test Coverage
Manual Testing can become boring and hence error prone.
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.
Following steps are followed in an Automation Process
Test tool selection
Test Tool selection largely depends on the technology the Application Under Test 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
Define the scope of Automation
Scope of automation is the area of your Application Under Test which will be automated. Following
points help determine scope:
Feature that are important for the business
Scenarios which have large amount of data
Common functionalities across applications
Extent to which business components are reused
Complexity of test cases
Ability to use the same test cases for cross browser testing
Planning, Design and Development
During this phase you create Automation strategy and plan which contains following details:
Automation tools selected
Framework design and its features
In Scope and Out scope items of automation
Automation test bed preparation
Schedule and Timeline of scripting and execution
Deliverables of automation testing
Automation Scripts are executed during this phase. The scripts need input test data before there are set
to run. Once executed they provide detailed test reports.
Execution can be performed using the automation tool directly or through the Test Management tool
which will invoke the automation tool.
Example: Quality center is the Test Management tool which in turn it will invoke QTP for execution of
automation scripts. Scripts can be executed in a single machines or group of virtual machines and it can
be done through nightly runs.
Automation Scripts need to be added, reviewed and maintained for each release cycle as new
functionalities are added to the System Under Test with successive cycles. Maintenance becomes
necessary to improve effectiveness of Automation Scripts.
Following are the most popular test tools :
QTP :HP's Quick Test Professional ( now known as HP Functional Test) is
the market leader in Functional Testing Tool. The tool supports plethora
of environments including SAP , Java , Delphi amongst others. QTP can
be used in conjunction with Quality Center which is a comprehensive
Test Management Tool. know is light tool which can be recommended for
web or client/server applications.
Rational Robot: It's is an IBM tool used to automate regression,
functional and configuration tests for client server, e-commerce as well as
ERP applications. It can be used with Rational Test Manager which
aided in Test Management Activities
Selenium: Its an open source Web Automation Tool. It supports all types of web browsers. Despite
being open source its actively developed and supported
How to Choose an Automation Tool?
Selecting the right tool can be a tricky task. Following criterion will help you select the best tool for
Easy to use
Testing of Database
Error Recovery Testing
Used in all Languages
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
Tool selection is one of biggest challenges to be tackled before going for automation. First, Identify
the requirements, explore tools and its capabilities, set the expectation from the tool and go for a Proof
Framework in Automation
A framework is set of automation guidelines which help in
Maintain consistency of Testing
Improves test structuring
Minimum usage of code
Less Maintenance of code
Extent in re-usability
Non Technical testers can be involved in code
Training period of using the tool can be reduced
Involves Data wherever appropriate
There are four types of framework used in software automation testing:
1. Data Driven Automation Framework
2. Keyword Driven Automation Framework
3. Modular Automation Framework
4. Hybrid Automation Framework
Automation Best Practices:
To get maximum ROI of automation, observe the following
Scope of Automation needs to be determined in detail before the start of the project. This sets
expectations from Automation right.
Select the right automation tool: A tool must not be selected based on its popularity but it's fit
to the automation requirements.
Choose appropriate framework
Scripting Standards- Standards have to be followed while writing the scripts for
Automation .Some of them are-
Create uniform scripts, comments and indentation of the code
Adequate Exception handling How error is handled on system failure or unexpected
behavior of the application.
User defined messages should be coded or standardized for Error Logging for testers to
Measure metrics- Success of automation cannot be determined by comparing the manual effort
with the automation effort but by also capturing the following metrics.
Percent of defects found
Time required for automation testing for each and every release cycle
Minimal Time taken for release
Customer satisfaction Index
The above guidelines if observed can greatly help in making your automation successful.
Benefits of automated testing
Following are benefits of automated testing:
70% faster than the manual testing
Wider test coverage of application features
Reliable in results
Saves Time and Cost
Human Intervention is not required while execution
Better speed in executing tests
Re-usable test scripts
Test Frequently and thoroughly
More cycle of execution can be achieved through automation
Early time to market
Right selection of automation tool, Testing process and team are important players for a automation to
be successful. Manual and automation go hand-in hand for successful implementation and maintenance
of automation. This makes the system robust, maintainable and reusable for a long time