It’s happening! Either you’ve finally convinced upper management that it’s time to use automation in testing, or they’ve come to you with a mandate to automate testing. Hopefully, you’ve laid the groundwork that automation isn’t a panacea, manual testing isn’t going away, headcount isn’t going to go down, and feature throughput isn’t going to skyrocket. If you haven’t, you need to set the expectations. Either way, it’s an exciting and scary time, especially if your experience with automation is little or none. So now what?
You can ask for help
If you’re thinking you can get automated testing up and running and useful on your own, you may be right. But you’re likely very wrong. Can you home-grow automation expertise? Yes. Do you have the time (years!)? Likely not. You need help, and that’s something that can be hard for some, especially if you’ve built a solid reputation as a testing professional. For the best return on investment and probability of success in a reasonable time frame, you will need to hire either a full-time automation professional, or the right consultant. Unless you’re an expert in automation, YOU AREN’T AN EXPERT! So put your ego aside and find the right help.
If I’m not an expert, how can I get the right help?
Excellent question! You may not be an automation expert, but you can figure out what your automation expert needs to bring to the table. Read blogs about automation, especially if they’re by automation engineers. You probably know people (either directly or indirectly) with whom you can have conversations about automation and what to look for, especially “red flags.” Get with your team and find out what you need (and don’t need) automation to do for you.
For my company and my team, we wanted:
- Robust, low-maintenance tests that concentrated on the most critical parts of our systems.
- Automated tests that would relieve testers of the tedious and time consuming tests.
- An automation engineer that:
- Shared our quality and testing philosophies.
- Understood our automation goals.
- Had done it at least once before.
- Had done it more than once and in different ways, OR
- Had done it once and wanted to approach it differently this time.
- Had a proven track record mentoring testers in automation.
Are you asking the right questions?
To find the right candidate, you need to ask the right questions. Or do you? How do you get candidates to REVEAL what you want to know without directly asking? I like to use “Describe”, “Explain” or “Tell” requests rather than asking questions outright:
- Explain the primary reason for automated tests.
- Describe the benefits and pitfalls of automation.
- Tell us about an automation achievement that stands out in your mind.
- Explain what you would do differently if you had to do that project now.
- Explain how you determine which tools to use.
- Describe your plan for developing automated tests.
- Explain the automation pyramid (if they haven’t yet mentioned it).
- Explain how you would introduce manual testers to automation.
- Describe your mentoring approach and how you will get testers excited about automation.
Miracles require a lot of work and preparation
So you’ve done your research, talked to your peers, defined your needs with your team, posted the position, interviewed the candidates and you found and hired the perfect candidate.
Congratulations! You’re home free!
Hate to break it to you, but automated tests don’t just happen. And even if you manage to find someone that’s familiar with your vertical, she/he won’t be familiar with your specific products and code. You need to onboard them, just like any other tester, AND onboard them just like any other developer. Then you need to work with them to develop a strategy, decide what work needs to be done first, investigate tools and approaches, do a Proof of Concept, and then, after that, the work really begins!
At this point it’s worth mentioning again that YOU AREN’T THE EXPERT! They are. So you still need to keep your ego out of it. You need to be realistic…and then some…with timelines and milestones. You’re not getting a fully developed testing framework and 100% code coverage in phase 1. Or even by phase 5. Or even if you purchase an existing automation solution (because no matter how “universal” the “kit”, you’re still gonna need to customize it for your “ride”). You need to organize things based on your company’s and your team’s needs. Start with useful tests that eliminate pain points. Evaluate the “Return on Investment (ROI)” for your proposed automation efforts and determine which will give you the biggest bang for your buck. Always encourage and weigh the possibilities of solving tactical problems with strategic solutions, especially if the added effort is marginal.
Protect your investment
Whether you hire a permanent automation engineer, or a consultant, you MUST give them the time to get the work done. The automation engineer is NOT a sprint test resource at this stage, and, in my opinion, shouldn’t ever be considered as such. The job is to create, maintain and update the framework for automated tests, not test sprint features. The framework will never get to be a solid and useful tool if your automation engineer is constantly pulled away to test sprint work. Do that, and you’ll not only not have a testing framework, but you’ll lose the automation engineer to a company that lets them do what they do best: build automation frameworks. And you may lose some of your best testing experience if your manual testers, once excited about getting the drudge testing out of the way so they can do some really good exploratory stuff, are a year in, with no solid framework, still doing the mind-numbing testing, and with no light at the end of the tunnel.
Don’t ignore your testers!
Your testers are your expertise in testing your systems. Leverage that experience and use it to propel the automation forward. They complement the automation, because they know which tests should be automated (and which shouldn’t). The automation engineer mentors them in how to use the framework to create automated tests. If they don’t have what they need in the framework, they inform the automation engineer and she/he develops what they need. As their experience grows, they can get deeper into framework to learn how its structured, and how to expand upon it.
Remember that ROIs can change with business changes and, subsequently, what gives the biggest bang for your buck will change. Do not be surprised if your first few forays aren’t as successful as you want or need them to be. Be the hitchhiker of the galaxy and DON’T
PANIC! Your initial test framework architecture didn’t work? Learn, pivot and change (also easier to do with a small, tactical goal than a sprawling effort). You WILL SUCCEED if you persevere. You’ll look back and see that progress has been made, the framework is sorting out and stabilizing, your team is contributing tests for automation, and your ROI is now focused on more strategic goals than tactical ones.