So You Want to Write Test Automation Scripts—You’ll Need a Programmer’s Problem Solving Checklist

James Wheeler
3 min readApr 25, 2022

--

Funny checklist with coffee mentioned multiple times
Photo by Thomas Bormans on Unsplash

A Checklist — Who Doesn’t Love a Good Checklist

If you follow the Office Ladies podcast, you know that Jenna Fisher loves a good checklist. I’ve also read many an IT article and many an IT memo recommending or implementing checklists.

Before diving into a checklist, I would recommend using meditation practices to help you slide into problem solving mode.

Is the checklist of things to check first like the question a help desk staff member asks you:

Have you turned it off and back on again yet?

Yes, it is a bit like that help desk question AND that’s okay. There are a few things that consistently happen in programming. So, why not have a quick set of steps you can follow to solve most and eventually prevent some of those problems.

Doing so will greatly improve your programming prowess.

Dream Big
Photo by Randy Tarampi on Unsplash

A Software Tester’s Checklist Example

By way of example and using something you’re familiar with, let me remind you of some common items testers who aren’t writing automation scripts use if their tests don’t work or the actual results don’t match the expected:

  1. Am I in the right environment?
  2. Did I utilize data that one would expect for this scenario?
  3. Did I login as a user with the proper authorization for this set of steps?
  4. Are the batch jobs running?
  5. Did I forget or misunderstand a step?
  6. Is it truly repeatable?

When programming automation scripts, you’ll need a comparable set of things to check to help guide you through the problem solving process.

A Programmer’s Problem Solving Checklist

Although I’m focused on those who are newer to writing automation scripts, I hope this list can be used by the most seasoned script automation programmers. And, if you’re just starting out, there is more to consider than just a checklist for solving problems. This article about transitioning to automated testing provides some key things to consider.

Let me know in the comments of items that you’ve found useful on my list or that you’d recommend that are not in my list.

Problem Solving — Quick and Easy Steps

  1. Have I added logging to see what the script is doing at key steps?
  2. Are my variables actually being set?
  3. Do my variables and parameters use the proper type?
  4. Are my mapped objects I want to take action on properly identified?
  5. Am I using the mapped object’s correct property?
  6. Is my automation script running too fast or too slow?

Problem Solving — More Advanced Steps

  1. What do the scripting language’s or tool’s docs say?
  2. Is there a community specific to my language or tool and have I looked up answers related to my problem in the community?
  3. Have I checked general tutorials and communities to see if helps are available there?
  4. Have I googled the answer?
  5. Are there other automation scripts in the project that do this same thing?
  6. Is this the only way to do this thing I’m doing?

If you’re wondering — what do these things really mean and why is googling in the advanced section, continue reading. We’ll dive into the whys below.

A More In-Depth Look at Items on the Programmer’s Problem Solving Checklist

Just having a checklist is one thing, but understanding why we do those things will really take your programming to the next level. Move over to an in-depth look at the programmer’s problem solving checklist to get the full details on these steps.

--

--