8.1.2 Analyze the Technical Aspects of a Deployed Test Automation Solution and Provide Recommendations for Improvement
Part of 8 Continuous Improvement, 8.1 Continuous Improvement Opportunities for Test Automation.
Learning objective: TAE-8.1.2 (K4).
In short
A deployed test automation solution can always be improved: its scripting, execution, verification, architecture, framework, set-up and tear-down, documentation, features, and updates. Choose the improvements that add the most value.
Key ideas
| Area | Improvement |
|---|---|
| Scripting | Move to a better scripting approach, such as data-driven or keyword-driven, for new tests and the costliest old ones; consolidate repeated steps into library functions, with parameters where steps differ; build failure recovery so one failure does not stop the suite |
| Waits | Replace hard-coded waits with dynamic waits that poll for a condition, or, better, subscribe to the SUT's events; always with a timeout |
| Test execution | Run in parallel, or split long suites into parts that fit a time window, such as a night; remove duplicated coverage; schedule pipelines |
| Verification | One set of standard verification functions, with parameters, used by every test |
| Architecture | Change the TAA, or the SUT, to improve testability, such as adding APIs for testing; cheapest when planned early |
| Framework | Adopt new core library versions through a pilot, an impact analysis, and an adoption plan across teams |
| Set-up and tear-down | Move repeated preconditions into set-up methods, for example creating test users through a web service before a UI test |
| Documentation, features, and updates | Keep documentation current; add only features that will be used; test new tool versions on sample tests before rolling them out |
In this programme
The most common improvement you will make: a hard-coded driver.sleep(3000) replaced by driver.wait(until.elementLocated(...), 10000), which waits only as long as needed and has a timeout. That is Principle 10, "Wait explicitly, never sleep".
Teach it (60 minutes)
Groups review a real suite, from their team or the practice repository, against the eight areas in the table, and write three recommendations, each with its expected benefit and cost.
Check yourself
- Compare hard-coded waits, dynamic waits, and event subscription.
- How can you shorten a regression suite that no longer fits in a night?
- How should a new version of a core library be adopted across teams?
Previous: 8.1.1 Discover Opportunities for Improving Test Cases Through Data Collection and Analysis · Contents · Next: 8.1.3 Restructure the Automated Testware to Align with System Under Test Updates
Based on the ISTQB Certified Tester Advanced Level Test Automation Engineering (CTAL-TAE) syllabus, version 2.0, section 8.1.2. The syllabus is © International Software Testing Qualifications Board (ISTQB®); ISTQB® is a registered trademark of the ISTQB. Copyright © 2024 the authors of the syllabus: Andrew Pollner (Chair), Péter Földházi, Patrick Quilter, Gergely Ágnecz, and László Szikszai. This page explains its concepts in our own words, for teaching, and is not an accredited course or a substitute for the syllabus.
View this document on GitHub materials/modules/module-5-istqb-certified-tester-advanced-level-test-automation-engineer/syllabus/8-1-2-analyze-the-technical-aspects-of-a-deployed-test-automation-solution-and-provide-recommendations-for-improvement.md