Tuesday 18 June 2013

Ten steps to implement Automation Framework approach


  1. Identification of the Scope of Testing - Company Oriented, Product Oriented, Project Oriented.
  2. Identification of the Needs of Testing - Identify Types of testing e.g. FT, Web Services etc. and application / modules to be tested.
  3. Identification of the Requirements of Testing - Find out the Nature of Requirements, Identification of type of actions for each requirement & identification of High Priority Requirements.
  4. Evaluation of the Test Automation Tool - Preparation of Evaluation Checklist, Identification of the Candidate Tools Available, Sample Run, Rate & Select the Tool, Implementation & Training.
  5. Identification of the Actions to be automated - Actions, Validations & Requirements supported by the Tool.
  6. Design of the Test Automation Framework - Framework Guidelines, Validations, Actions Involved, Systems Involved, Tool Extensibility Support, Customs Messages & UML Documentation.
  7. Design of the Input Data Bank - Identification of Types of Input file, Categorization & Design of File Prototypes.
  8. Development of the Automation Framework - Development of Script based upon Framework Design, Driver Scripts, Worker Scripts, Record / Playback, Screen / Window / Transaction, Action / Keyword & Data Driven.
  9. Population of Input Data Bank - Different Types of Data Input, Population of Data from Different Data Sources, Manual Input of Data and Parent – Child Data Hierarchy.
  10. Configuration of the Schedulers - Identify Scheduler Requirements & Configure the Schedulers .

Monday 17 June 2013

General example for Manual and Automation



Automation ROI (Return On Investment)



  • Time Savings - This one should be more quantifiable than other types of ROI. Time savings comparing manual test execution to automated execution should be useful in building a good case.
  • Repeatability - Automated tests are executed precisely the same way every time they are executed. This might not seem like a big return, but consider how many steps would need to be executed manually if these tests were not present and then consider how many mistakes might be made with that effort.
  • Traceability - Automated tests (usually) provide some type of evidence of execution. It could be a traditional log or a simple pass/fail output from execution, but either way, automated tests can keep better track of what was measured during execution and provide the data with less variation than a manual tester.
  • Availability - Automated tests can be kicked off manually or automatically to run at any hour of the day. They don't get tired, sick, or take vacations, and they can be made to work weekends without special arrangements.
  • Speed and Accuracy - Since the execution time is reduced the software life cycle takes place faster unlike in manual testing where the process is much longer. The results achieved in automation testing are more accurate in nature.
  • Easy to Access - It allows access to all data, objects, web applications and protocols that manual testing cannot do.
  • Accumulation - As the application matures the number of tests increases. Therefore, engineers need not test the same functionality over and over again but instead they can constantly add on to the test suite.
  • Manageability - The artifacts can be managed through the automation tools.
  • Availability - once the automation scripts are developed it can run at anytime from anywhere without the need of being attended to.

The ROI will be positive if the gain (savings) exceeds the costs (including investment). ROI will be negative if costs are greater than gain.