Maintainability – of automation is based on discipline of design
Maintenance of the test cases is often ranked as the number one issue in test automation. It is something that any test automation project must care about. It is not that uncommon to see test automation engineers spending all their time on test case maintenance instead of designing new test cases. Once you let the time needed for maintenance grow out of proportion, there’s no way back, except redoing everything. Continuous feature updates in the software under test, of course, are the root cause for the maintenance need, but a fragile testware makes the maintenance effort skyrocket. Maintenance challenges exist
- test execution tools as well as in;
- test interface libraries and;
- design techniques used;
which all are separate entities.
Qentinel Pace defines only a couple of guidelines for designing test cases and keywords, or PaceWords as they are called:
- Keywords are short, 8-12 characters are usually enough for a descriptive name and every extra character is considered a waste
- Each keyword carries out one atomic operation, such as filling an input field, rather than being an application-specific operation or routine
- There is a specific keyword, Appstate, for initializing the system under test in the desired state
- Every keyword has built-in verification
Such atomic keywords make a test automation solution easier to maintain, because:
- Everyone can understand the test case flow, which is important in reviews or PRs
- The same test case can be executed on different platforms if the test case flow is the same
- Keywords are not project-specific, but the same across different projects
- Test cases look nice and structured which make it a joy to use and maintain
There is a downside, too: test cases may become a bit long but this is more than compensated by the linear, easy-to-follow structure.
When comparing PaceWords to other scripting techniques, it is like Python in programming; simplicity in syntax, reliability, and versatility. In case there are doubts regarding PaceWord approach maintenance, please, read the case study “How to automate 18 109 test cases and keep maintenance effort under 15%”.