Test Automation Framework Deliverables
The following represents a minimal set of test automation framework artifacts that must be created in order to assure success.
An integrated suite of automated tools that can be used by both technical and nontechnical individuals to test application software
A strategy for training and periodic retraining of framework users
A set of reusable test scripts and test script utilities
Automated environmental setup utility scripts
Automated smoke test scripts
Automated GUI test scripts
Events and objects
Data-driven automated functional test scripts
GUI-level data validation
Server-level data validation
Automated reliability test scripts
Automated compatibility test scripts
Application performance test scripts
Automated test utility libraries (files that contain reusable called procedures and functions) to implement activities such as pretest database loading and posttest database verification
An Automation Plan
Some do not believe that a plan for automating software testing activities is necessary. In fact, it has been said that such a plan is a waste of time and money and that it can impede an automation effort. Our experience has been that it is important to go through the exercise of writing a plan because it directs your thinking, and, if you follow a plan template, it reduces the chances of omitting important details. Appendix C illustrates an automation plan that was developed for one major company. You could say that it was a waste of time from a management perspective because the plan was submitted to executive-level management in the IS group and was never heard from again. It was not a waste of time for those of us who had to get the effort moving; it gave us guidance and perspective concerning what we thought we could accomplish given the time we had.
Appendix D is a template for a test automation project work breakdown plan. Even if you do not write a formal work breakdown plan, you should at least ponder what you are going to do for each of the areas that are listed in the template.