Testing is an extremely valuable skill to have. Good testers are powerful, and great ones are almost godlike.
Even so, there’s a trend where some testers feel threatened by automation.
Is it an uphill battle? Sometimes.
Is it eventually going to win? Yes–But! Today I want to write about how we can treat it less like an “Us vs. It”, and more like a symbiotic relationship where you can flourish.
The cost of manual
Think about how much money you make in… I don’t know, 15 minutes. Take a guess.
Now think of a task that you have to do regularly.
How many 15-minute slugs of time it takes to do that one task?
Is it a lot? Does that task happen once per week? Once per day? Multiple times per day?
That time adds up after awhile.
There’s a direct cost to repetitive manual tasks, and as testers we’re pretty aware of that. The more we have, the longer it takes, and the less we can get done in the same span of time.
But there are a couple other hidden costs that I bet we don’t normally think of. Opportunity cost and awareness cost.
This is the cost that comes up when we choose to spend resources on something, and give up the chance on a different return.
Often, this means when we do things manually, we give up on the the return of extra time that we could’ve gained (and spent on something else) had we let automation take that task over for us.
Sometimes opportunity cost means:
- Not having enough time to test
- Missing out on finding bugs
- Stress from compressed timelines
There are definitely some things that we do as testers that are pretty repetitive. Repetitive tasks cost money.
There’s a type of “tunnel vision” that comes from doing the same task again and again.
Particularly for testing, and especially when we’re trying to “rush carefully” to get things done, we start missing stuff beyond what we’re laser focused on.
Focus is great. But when it comes at the cost of missing bugs, it’s not so good.
This is the awareness cost–we’re sacrificing awareness in order to get tasks done, and not leaving enough time to notice anything but the tasks.
Not to eliminate you, but enhance you
There’s probably more than just these costs associated with repetitive tasks. That’s where automation comes in.
Automation is truly not meant to replace you. It’s meant to assist you. It’s a tool–like a hammer or a screwdriver–that enables you do stuff faster.
Not Just for Testing Either
As testers, a lot of time’s tied up in non-testing tasks.
For me, sometimes I’m reading emails, writing reports, writing scripts, creating or managing test data, or cleaning up code.
That’s great news, because it means that we don’t have to be slamming out test automation code in order to add value with automation in general.
Here are some examples of automation that can help you outside the area of test automation:
- Save time by setting up email filters: set categories, labels, urgency or send to folders based on subject, content or even who it’s from. Let filters help you decide what you need to look at first.
- Take screenshots: You don’t need to hit Print Screen, paste into MSPaint, save the file and distribute it to your team. Tools like Greenshot and SnagIt make it easy.
- Beef up your text editor: I’m a huge fan of Sublime Text Editor. It has a lot of features including letting you customize just about everything you could ever want, to make your job a ton easier.
- Let the IDE do the heavy lifting: Just today, I remembered that I could record a macro and type repeated lines (like Cucumber step definitions) with a couple key strokes. Saved a ton of time and human error.
- Lightweight scripting: AutoHotKey is a great tool for writing simple scripts for automating a huge array of Windows-based tasks. Great one to have in your arsenal.
- If I kept going with examples I’d have a novel written: I think you get the idea.
How to survive
This is all stuff we’ve heard time and time again. People be like, “Spread your cheeks, automation’s coming!”
And I guess it can be scary if it means you’re wanting to free up acres of time to play Clash of Clans or whatever.
But again, remember: automation’s purpose isn’t to eliminate you, it’s to enhance you.
Here are some tips to apply:
- As you reclaim time, look for new things that add value. What can you do now that you couldn’t do before? How valuable would that be to the company?
- Can you spend some time on test strategy? How much testing really needs to be done? Can you share with the rest of the team and fine-tune it and still ship awesome product?
- Is there a new technology you want to learn that would help you and people around you?
- Are there areas similar to what you’re doing that are of interest? (e.g.: you’re testing for the sales team but the finance team needs a little help too?)
When you have new time, as long as you spend it on something of value to the company, or improving yourself (which is also valuable to the company), you’ll be in great shape.
Automation’s not anything to be afraid of. Use it to your advantage. And enjoy the journey!
“Fear is the mindkiller“–the rallying cry from a sci-fi protagonist applies to software testing too. Fearful people often make short-sighted, reactive decisions. I hate that. So I work to eliminate as much fear as possible wherever I go, so people can think clearly. You might be surprised how that ties into test automation, but it does! Interested in hearing how?