Why Your Strategic Approach to Automation Probably Sucks
“Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat.” ~Sun Tzu
In Alan’s session he’ll cover how you can learn to automate software, as well as the difference between actuating tactically vs. automating strategically.
Automation–Not Just for Functional Tests
When folks talk about automation they are often referring to test automation. This mindset really limits the power of a team’s automation efforts and the ability to move that team forward towards more DevOps in its test processes.
Alan does the opposite in his session; he goes over how you can automate many of your test processes — not just your functional tests.
Automate Doesn’t Mean to Automate Testing
First, repeat after me: Automate doesn’t mean to automate testing! I know many people conflate the two statements — mainly because they work in the testing field — so when they hear the word automating, they automatically think about automation testing.
One more time — Automate does not mean to automate testing.
When we talk about automation without a specific object to contextualize the word, automation, like testing, means install automatic procedures.
When you test, you do stuff, and some of that stuff you can do automatically. Automation means making something happen automatically.
In the context of testing, it means automating part of your test process.
Strategically or Tactically
You go about automating your test processes in two main ways. The first is strategically and the second is tactically.
The strategic approach is a high-level view of automation, like planning and budgeting for it. You can also take a tactical approach; for example, if you have a problem, you want to solve it right away. If it’s taking too much time, you may decide to automate it – quickly knock out some code, find a tool, etc. to solve the immediate problem as well as make the task more efficient in the future.
The two approaches actually work in tandem.
Remember: Automation does not mean automation testing. It means automating some of the processes you use, and/or some of the tasks you perform when you test. You can also automate by adding tools.
Someone else can code a tool and we can use that tool to automate tasks or processes that overlap with the features of that tool.
In order to do this you need to know the difference between tactical and strategic automation and you also need to learn how to code and code well to really be successful.
Of course, you can automate tactically without learning how to code. If you want to automate strategically as well as maximize your chances of success and flexibility, however, when you approach the automation of the systems, there’s little to no chance of success unless you learn how to code well.
Many of the test automation failure stories that we hear are a result of people trying to automate strategically…badly.
Your Strategic Approach to Automation Probably Sucks
Some signs that you or your team might suck at strategic automation:
• Not knowing how to code
• Not knowing how to pick the right libraries
• Not knowing how to make your stuff maintainable
• Not knowing how to move from tactical solutions that add value to something that is strategic and longer term.
If you or your team show signs any of the above, don’t worry — you can learn how to do this.
Automation Guild Conference 2017
In Alan’s Automation Guild session, he lays out some of the steps you can take to improve you efforts by showing you examples of using tools in different ways, both tactically and strategically.
He also discusses some of the skills involved in actually finding and using the right tools when you need to automate strategically, or are trying to learn how to code.
Alan also breaks down some of the barriers people place in front of themselves when learning how to code.
For example, many testers think coding is difficult, but many of the skills you already have as tester can actually be used to help you pick up coding much quicker. To prove it, Alan shows us a working example of converting a tactically automated process into a strategic process. He also walks us through the thought processes and steps involved in moving towards a strategic automation effort.
So if you want to automate, you can do it without learning how to code, but if you want to automate strategically, you need to learn how to code and you learn how to code well.