Test Automation Framework


Approach for Test Automation is used for building a strategy for automation starting from the Requirement phase till the deployment phase. Approach for automation begins with finding out the conditions and business rules given by the client and grouping similar conditions, business rules together as Test cases or Test Scenarios.

Steps involved in Approach for Test Automation are as follows:
  • Requirement gathering from the client
  • Understanding and Analyzing the Requirement
  • Grouping the requirement into Test cases
  • Preparing the Design for Automation
  • Building Scripts depending on the Design
  • Review of Scripts at OffshoreDelivery to the Client
In good automation framework, the important things that should be followed are:
  • Following common coding structure for all the scripts
  • Consistent coding conventions
  • Use of Reusability for making code efficient and minimal
  • Efficient use of Object Repository
  • Use of Error and Exception handling FunctionsUse of Data table object, Environment variables for using data
Design steps of the approach for Test Automation:
  • Identification of Test Cases for Automation
  • Identification of Common Functionality
  • Coding Standards, Naming Conventions & Templates
  • Building the Re-Usable Library for example:
    • Application Login, Logout, Common Functionality Related code etc
    • Tool & Application Settings, Restoring, Object Repository, Recovery, House Keeping etc
    • General library containing String handling, Date handling, File Handling, Data Table handling
    • Error handling, Log Reporting, messaging etc
  • Script Development using Record & Play back
  • Deliver the script after Verification & Validation
Guidelines followed for identification of Test Cases for Automation
  • Tests that need to run once and those that need frequent human intervention are usually not worth the investment to automate and have not been considered for automation.
  • As Automated testing can be used to verify the performance of application paths that are used with a high degree of frequency when the software is running in full production e.g. creating customer records, Invoicing and other high volume activities where software failure would occur frequently have been considered.
  • Mission critical processes like core activities like sales order processing are prime candidates for automated testing and have been considered for automation.
  • Repetitive Testing.
  • Applications with Long Life span – Longer the application in production greater the benefits from automation.
  • Avoiding dynamic screens. Though possible to automate this increases the complexity of the script.
  • Avoiding screens where objects are created dynamically
  • Avoiding business scenarios where complex hardware is involved
  • Selecting a row in a table results in an additional challenge from. Some automation tools provide the facility to read each row in a table and for focusing on a specific row. If the numbers of rows were very high the execution time of the script would be high. This leads to performance issues of the recorded script. Hence, it is better to prove the business scenario wherein tables with row selections figure by identifying a fixed row number. This scenario is faced very frequently in enterprise applications as in pricing tables and leads to the complexity of the script and subsequently the effort.
  • Avoiding scenarios that require high degree of coding while automating so that script’s complexity is reduced and high maintainability of the script is ensured.
Also See:


  1. An "execellent" web log and online resource center of Software Testing
    -- Please correct the spell mistake.

  2. How to make automation as portable i.e if we run the code in any machine the code has to run without specifying Driver or changing Path