| Development of an effective test automation | | | | Ten useful guidelines to identify Test Cases best |
| framework is a complex process involving many | | | | suited 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 a | | | | 1) Identify the tests, which call for extensive |
| good test automation approach. Few guidelines for | | | | involvement 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 strategy | | | | dropped from the list of tests for automation. |
| for automation beginning with the requirement phase | | | | 2) Identify the application paths with high frequency of |
| & extending till the deployment phase. This | | | | use during full-scale production run of the application. |
| process is kick-started by understanding the set of | | | | Automated testing shall be best for evaluating the |
| business rules and various conditions specified by the | | | | performance of such application paths. These can |
| client. Such business rules and conditions bearing | | | | include activities with higher volume with larger |
| operational similarities are grouped together in the form | | | | probability 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 as | | | | 3) 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 like | | | | would be ideal for automated testing. |
| understanding of all transactions including customized | | | | 5) Identify the applications having longer life span during |
| transactions etc. Understanding and analyzing the | | | | production, since automation of such applications shall |
| requirements: This may be done at the client end as | | | | provide maximum benefits. |
| well. Clubbing the requirement into groups of test | | | | 6) 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 transactions | | | | complex. |
| in the form of different scenarios. This follows | | | | 7) Try to avoid screens involving dynamic creation of |
| identification of common functionalities and clubbing | | | | objects. |
| 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 emphasis | | | | 9) Try to avoid scenarios, which call for complex |
| on the following | | | | coding for automation. Our endeavor should be to |
| Stage-5: Creation of scripts according to the design | | | | have 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 to | | | | Script complexity should be reduced while handling |
| the client Step-1: Identification of Test Cases that are | | | | enterprise wide applications like price list tables etc. A |
| needed to be automated | | | | complex script tends to take more time for execution |
| Step-2: Identification of common functionalities & | | | | especially when the table contains large number of |
| grouping them together | | | | rows for picking up the data. |
| # Login / Logout, code related to common functionality | | | | Stage-4:a) Use of common coding structure in all |
| etc. # Library for handling of Data Tables, Files, Strings | | | | scripts.b) Use of consistent / common coding |
| & Dates etc. | | | | conventions.c) Reusability must be the key in coding.d) |
| # Log Reporting, messaging, Error handling etc | | | | Extensive use of object repositorye) Extensive use of |
| Step-5: | | | | error and exception handling functionsf ) Extensive use |
| | | | | of data table objects. |