Mistakes – The Automation Ticket
Picture the scene, you have your team of highly skilled SDET’s, you have a dedicated dev-ops team, you have all the infrastructure and licenses that you could ever dream of and most importantly, you have the buy in from senior management that automation is a must going forward. With all that going your way, what possibly could go wrong? Your new test automation plan must be destined for greatness.
Unfortunately, being in a company with all the above is rare, so when you do find yourself in that fortunate position, it’s easy to get excited about all the things you want to do and want to achieve. However, what isn’t so rare, is opening up your backlog one day, or JIRA board (or whichever tool you’re using) and seeing all the complexities of getting a new test automation effort up and running, all the challenges, all the tasks, have been condensed in to a single ticket, often with an awfully vague title such as “Create automated tests”.
I’ve seen it all too often, the project of implementing test automation, and don’t kid yourself that it’s anything but that, a project, is given nothing but a single ticket. As soon as this mistake is made, I can almost guarantee that the vision for your test automation will never come to fruition.
The sad truth is that for a lot of companies, the attitude towards test automation hasn’t changed a whole lot from what it was ten years ago. That is despite all the advances in the tools and technologies available. To most, it is still just an afterthought, a background task that should only be worked on when there you have a quiet day.
The reality of it is that automation needs to be treated as a completely separate project, and while not every department is blessed with the resources to put a dedicated team on to it, the time and investment from your test team need to be enough that the tasks required can progress.
Having a dedicated board for all the tickets that will be required is essential, so that work can be properly detailed, estimated and tracked. You’ll be amazed at just how many tickets you’ll end up with if you plan a test automation project from scratch, which is why it’s pretty incredible that anyone can expect it to work when trying to cram it all in to one vague and poorly written ticket.
The other thing to consider, is even if you’ve done everything right and treated it like the complex project it is, you have to plan for what happens after that. Test automation isn’t something you can just get running and passing and just assume it’s done, and wash your hands of it. The maintenance of test automation is something that always needs to be considered, and while it can be mitigated with appropriate planning and implementation, you can never completely eliminate the cost of maintenance.
Here are five things that I feel can help you plan and execute a successful test automation project:
1 – Whatever your companies tracking tool of choice, be that JIRA, Azure or something like Favro, create an entirely separate project/space for your test automation tickets. Break it down like you would any other project, have epics, stories, tasks, spikes. Create sprints or releases with a clear goal so you have something to aim towards and achieve, and not just aimlessly working through tickets.
2 – Plan for the long term. Don’t be short sighted and think of the quick wins. While that may get you something up and running more quickly, it will often lead to more problems later on. Pick your tools and technologies based on long term goals, while it’s fine to compromise in some aspects to help you get up and running, don’t build the foundation of your test automation effort around short term goals.
3 – Make sure you have a way of running these tests. Whether that’s on a virtual machine lab, in the cloud or even a physical machine somewhere. What you want to try and avoid, is having to run your test automation on your own machine. If that’s all you have available for the short term, then obviously it’s better than nothing, but over time, your tests take longer to run and running them effectively takes you out of action while you sit there and watch your tests execute.
4 – Don’t go it alone. Get help from your devs. For test automation to truly be successful, you need buy in from your developers, and there’s absolutely no reason why they shouldn’t be contributing to the effort, whether that’s writing tests, helping with the framework or even helping with the running of your tests. Working with developers to ensure your CI systems are set up correctly and efficiently is paramount to a successful test automation project
5 – Push, push and push some more. You are guaranteed that at some point throughout the project, you will encounter obstacles. Be that a license that’s required, an environment setting up or maybe something as trivial as a permissions problem. Depending on how far you have to reach out to get these issues fixed, or how much red tape is involved in getting a licence costed and purchased, it might feel like there’s not much you can do or that it’s beyond your remit, but do not sit and wait. Don’t be afraid to be a nuisance. I’ve seen it many times, a particular obstacle bringing even the biggest project with huge momentum to a grinding halt, and then for it to sit there waiting for someone to take action.
Over time, as you fight to justify the resources, if the project fails to give returns, it only becomes harder to get the support you need. Don’t let your test automation effort fail because an obstacle gets in the way.