(Guest blog) Finding the Right Foot: Testing Efficiency Through Engineering Efficiency

This guest blog post is part of an Atlassian blog series raising awareness about testing innovation within the QA community. You can find the other posts in this series under the QA Innovation tag.

The post is written by Catherine Powell, a principal at Abakas, a software consulting company. At Abakas, she provides engineering management, development, testing, and process consulting services. 

Ahh, the glories of software creation. We have an idea, and an idea turns into a list, and a list turns into code plus more lists, which turns into more code and new machines in production ready to share our great new software with the world. And there are a few caffeine-fueled late nights, and there are a few company-sponsored lunches and demos. And then we’re ready… just as soon as we run one last regression test cycle. And it’s going to take way too long. We’re all excited and ready to go, and we have to stop to wait for test. It’s the last thing to finish, and there are never enough testers during those end crunch times, and we keep having to cut corners to make releases happen on time. Plus, it frequently points out that we made the same mistakes we always make. So then we have to patch things and fix configurations and tweak it. That darn testing!

So how do we fix it?

How do we keep testing from being a bottleneck?

Simple. We do less of it. We minimize that end-of-cycle testing holdup. And we do THAT by building trust in our development and in our software creation, deployment, and maintenance process. Test cycles, particularly regression test cycles, are ultimately driven by fear. We do a “test pass at the end” because we do not trust that the activities that lead up to this point have resulted in robust, deployable software that does what we meant for it to do. Fix that lack of trust, and we can skip the extended test cycle.

There’s an old saying about starting off on the right foot. We don’t always have the luxury of starting (or restarting), but we can find the right foot, even on an ongoing project. To improve our testing, to make it more efficient, we have to address the whole software development life cycle. We must find our underlying fear and fix it instead of hiding behind an ever-larger test cycle.

The tricky thing about the fear driving the “test pass at the end” is that it’s frequently justified. We keep finding bugs, or configuration errors, or data problems, or deployment failures. We can’t stop testing when it keeps finding things that we really do need to know! Step one to reducing this test phase is finding the true underlying problems causing our fear, and fixing those. In other words, to make testing more efficient, we have to fix everything else.

The Underlying Problems

Let’s look at some of the more common problems that cause fear, and what we can do about it:

Test smarter, not harder

Fear causes us to take on large test cycles near the end of a release (or sprint or story or whatever the “chunks” are in a given project). We perform slow, repetitive tasks with a relatively low value, just because of that fear. Eliminate the source of the fear, automate the repetitive and low value tasks, and make that end testing cycle less of a bottleneck.  Get the software on the right foot, and you’ll free testers to do the activities that not only assuage fear, but that truly provide value.

Catherine Powell has worked with a broad range of software, including an enterprise storage system, a web-based healthcare system, data synchronization applications on mobile devices, and webapps of various flavors. She is an author, speaker and a mentor to engineers and technical managers. Catherine focuses primarily on the realities of shipping software in small and mid-size companies. Catherine’s published works, blog, and contact information can be found at www.abakas.com.

Exit mobile version