Maintainable, portable, and extensible automation solutions are often difficult to achieve. There is nothing more frustrating than funding a test automation project that results in endless time and resources to maintain it, or worse, funding a test automation project that has to be re-built after 6 months. Many test automation projects fail because the objectives were not identified early on or the scripting strategy excluded considerations of long term maintenance.
Almost every client we work with automates some of their testing needs, usually to improve test coverage and/or to release product more regularly. Most times, we can automate more than half of the test cases, which can eliminate multiple days of testing. When we engage in test automation projects, we follow a specific process where planning, strategy and execution guide engineers to develop maintainable solutions.
The Test Automation Checklist:
Kickoff Meeting – automation experts, development engineers and other stakeholders meet to discuss the purpose, needs, requirements and plans for test automation.
Requirements Collection – the automation team gathers critical requirements in order to assess and implement the most appropriate test automation
- Technology used for application development
- Product & domain knowledge (including functional specifications and product roadmap)
- Product architecture (including any specific back end hooks like APIs, Web Services or DB connectivity hooks)
- Automation tool preferences
- List of any challenges faced during any earlier efforts of automation
List of Use Cases – the developers provide a list of test cases and their priorities. Creating and prioritizing the most critical transactions allows the automation team to make decisions early on about the framework strategy and tool selection.
Test Automation Strategies & Methodologies – the automation team must identify how the tests will be prepared, what test language to use, the test interface and the test data (inputs/outputs) to ensure a maintainable and portable automation solution.
Automation Tool Evaluation – the automation team examine both paid and open-source automation tools to see which will best suit the application. For more information about automation tools, you can download our Guide to Selecting the Best Automation Tool.
Sign-Off – the automation team reviews the use cases and proposes an effort estimate for sign-off. This step helps all team members are on the same page about scope and strategy.
Basic Framework – the automation team develops the basic framework initially required for automating use cases.
Test Script Creation – the automation team automates the use cases according to the previously established goals, carefully identifying the elements, creating the data, documenting the scripts and verifying.
Batch Execution & Analysis – in conjunction with test script creation, the automation team executes the scripts in batch to verify accurate interaction with the application and ensure no unexpected test script failures are related to synchronization issues.
Demo & Reporting – once the suite is completed, the automation team presents the final framework, automated tests and reports. This step may include training other stakeholders to ensure future set-up and executions will be completed successfully.
During the test automation process, the team leads are updated with daily and weekly status reports. We also hold weekly conference call meetings which are used to discuss the team’s progress and any issues/challenges that need to be addressed before moving on. Consistent communication and structure creates an environment where maintainable, portable and extensible automation suites are built. Say goodbye to endless updates and maintenance. Plan ahead and build a test automation solution that works for the duration of your product development life cycle.