I have recently joined the automation team. We are currently developing an automation framework for our web-app which is already in live environment for a while. I have designed and developed the framework to execute any test scripts recorded using Sahi Open Source 4.4. I am stuck on evaluating approaches for recording GUI test cases.
Application Under Test: AUT is an web-app which uses AJAX and also has some custom graphs and reports.
The available recording approaches are as below
- Recording Regression Bugs: There are around 3000 bugs which are closed / open in the system which can be automated and used as regression suite. The upfront problem here even after 3000 recorded flows, the automation may not cover the complete web-app.
- Recording your business flows: This approach will record the business flow along with its validations. This will eventually cover the complete web-app if used data-driven testing smartly. But the web-app is complex and can have large number of flows even with data driven testing. We are also running on thin time-frame which might restrict this method. Also some of the flows are complex enough so that the script and its data driven support might become very complex and in-turn non-maintainable.
- Recording Validations and Flows independently: This approach will record validations as a separate test case and the actual business use case as a separate test case. This will reduce my recorded scripts size and hence will be maintainable. Separation gives me an exact point of failure stating whether it is field validation fails or the business flow is failing.Hence my debugging of script failure. But I am not able to decide if this approach has any unseen issues.
My Queries / Concerns:
- I want to know if I can go ahead with Approach 3 as my recording approach or should there be any other changes or a new approach altogether. I am trying to search how recording is done in other companies but could not come to conclusion.
- I want to evaluate if my Approach 3 can stand the agile methodology that we will be adopting soon.
- If my recording tool selection of Sahi Open Source is right or not for AJAX.
- Whether recording tool output should be exported as scripts or it should be exported as programming language export like java code.