Tips for Creating Good Test Automation Approach

Development of an effective test automationTen useful guidelines to identify Test Cases best
framework is a complex process involving manysuited for Automation: Development of script with
stages. Every stage poses different set of challenges,record & play back Tool Step-6: Verification
which need to be scientifically addressed. A sound& Validation of final script & then delivery.
framework can be created on a solid foundation of a1) Identify the tests, which call for extensive
good test automation approach. Few guidelines forinvolvement of the testing engineers or the ones that
creating the same are being described below.would be sparingly run. These tests should be certainly
The process begins with formulating a sound strategydropped from the list of tests for automation.
for automation beginning with the requirement phase2) Identify the application paths with high frequency of
& extending till the deployment phase. Thisuse during full-scale production run of the application.
process is kick-started by understanding the set ofAutomated testing shall be best for evaluating the
business rules and various conditions specified by theperformance of such application paths. These can
client. Such business rules and conditions bearinginclude activities with higher volume with larger
operational similarities are grouped together in the formprobability of failure of the software such as billing /
of test cases or scenarios.invoicing or other customer records etc.
Stages of building Test Automation Approach are as3) Identify the special processes having critical
under:importance for the business like processing of sales
Stage-1:order etc. Such strategically important activities must
Stage-2:be identified for automated testing.
Stage-3: Capturing the requirement from the client:4) Identify the events requiring repetitive testing, which
Includes onsite transfer of knowledge likewould be ideal for automated testing.
understanding of all transactions including customized5) Identify the applications having longer life span during
transactions etc. Understanding and analyzing theproduction, since automation of such applications shall
requirements: This may be done at the client end asprovide maximum benefits.
well. Clubbing the requirement into groups of test6) Try to avoid the dynamic screens. Although we can
cases:automate them but the script tends to become too
According to the flow, grouping of all the transactionscomplex.
in the form of different scenarios. This follows7) Try to avoid screens involving dynamic creation of
identification of common functionalities and clubbingobjects.
them together in the form of different test cases.8) Try to avoid business scenarios involving use of
Preparation of detailed design for automation:complex hardware.
Design for automation of scripts with special emphasis9) Try to avoid scenarios, which call for complex
on the followingcoding for automation. Our endeavor should be to
Stage-5: Creation of scripts according to the designhave less complex script, which would eventually be
Stage-6:easily maintainable.
Stage-7:10) Try to prove the scenario with tables having
Practical Steps to Design Test Automation Approach:provision of identifying every row by a unique number.
Reviewing the offshore scripts if any Final delivery toScript complexity should be reduced while handling
the client Step-1: Identification of Test Cases that areenterprise wide applications like price list tables etc. A
needed to be automatedcomplex script tends to take more time for execution
Step-2: Identification of common functionalities &especially when the table contains large number of
grouping them togetherrows for picking up the data.
# Login / Logout, code related to common functionalityStage-4:a) Use of common coding structure in all
etc. # Library for handling of Data Tables, Files, Stringsscripts.b) Use of consistent / common coding
& Dates etc.conventions.c) Reusability must be the key in coding.d)
# Log Reporting, messaging, Error handling etcExtensive use of object repositorye) Extensive use of
Step-5:error and exception handling functionsf ) Extensive use
 of data table objects.