
How long will that test automation take?

Sometimes testers are asked how long it will take to automate a batch of tests. Planning how long your test automation should be simple, however, the plan will have missed some requirements.
There are three types of requirements[1]:
- Known requirements – these are the requirements that have been clearly defined in planning meetings.
- Overlooked requirements – we are all human, we need to allow for missing things so we need to recognise that we will have missed some requirements. The initial analysis could have overlooked functionality that requires an automated test.
- Emergent requirements – these are requirements “that surface through the act of building the product.” [1]. Examples of emergent requirements in test automation could include:
- A feature of the testing tool does not work as expected, and the test automation engineer needs to find a new solution to a test automation problem.
- An element in the UI is difficult to interact with, for example, it is difficult to identify the element with a CSS selector, XPath or the test tools built-in locator.
- The testing tool does not support something that the test requires and you need to extend the capability of the testing tool using native code such as TypeScript.
- When you start to automate a new test you discover that a function needs to be refactored and as a result of refactoring the function, other tests also need to be refactored..
“We will never understand all the requirements of a story ahead of time”[2], this applies to test automation stories too.
Instead of creating a plan for test automation, it is better to create a test automation backlog. To make a backlog think about your vision for test automation and “start breaking down the things you need to execute that vision” [3]. “Don’t over plan, just estimate”[3], and create a list of the tests you want to automate. “The picture will change” [3]. “The reason for doing this type of planning is to create transparency within the organisation”[3].
References
[1] Agile Requirements Gathering: Three Types of Requirements by Mike Cohn (2020)
[2] Agile Testing by Janet Gregory and Lisa Crispin (2009, p133)
[3] Scrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland (2015, p200)