Test AND Code: Rethinking software testing through a holistic approach

This article summarizes Janet Gregory's holistic testing perspective from a conversation with Jeff Payne, arguing that testing should be embedded throughout development rather than treated as a separate phase. It also explores strategic automation and the "test AND code" mindset.

Coveros Staff

April 6, 2022

Despite its incredible importance to ensuring a quality product, testing has traditionally been relegated to one restrictive phase in the software development lifecycle.

Thankfully, that thinking is changing.

As more and more organizations evolve their agile, DevOps, and continuous development strategies, software development leaders are taking a hard look at the role testing plays in these processes–and where organizations might be failing.

One person leading this charge is Janet Gregory. For nearly 20 years, Janet–along with her collaborator Lisa Crispin–has been pioneering concepts in agile development and testing through industry-leading books, training courses, and community engagement.

In a recent conversation, Janet talked with Coveros CEO Jeffery Payne about her concept of holistic testing and its role in ensuring continuous, quality product development. ()

Here are four key takeaways from the conversation.

1. Testing is not a phase of the development lifecycle. It’s an activity that should be ingrained in every part of the process.

The concept of holistic testing builds off the idea of continuous testing within a DevOps loop but rethinks the stages of the development lifecycle.

One of the key pieces of Janet’s concept of holistic testing and her ideal development loop, is that testing isn’t a phase in that loop. Instead, testing should be ingrained in every phase.

Janet quotes agile leader Elizabeth Hendrickson to sum up this concept: “Testing is not a phase. It’s an activity that happens throughout.”

2. Holistic testing aims to encourage a comprehensive strategy for how and what we test.

The holistic testing model isn’t restricted to testing of applications specifically. As CEO Coveros Jeff Payne points out, “You’re talking about testing not only the application, but any code or environment or system that your application must be successful on.”

This is one reason why Janet says she’s actually stopped using the term “software testing,” using holistic testing instead–to ensure that testers and developers don’t get caught in the “bubble” where they’re focused only on testing the application being built and not other key pieces of the development process.

While holistic testing aims to expand our thinking about what needs to be tested, it also aims to be comprehensive about what types of testing is necessary.

For Janet, the concept of continuous testing has become too synonymous with test automation. Janet’s goal for holistic testing is to re-introduce the vital, human-centric tests that need to be run alongside or apart from automation.

3. When we think about the development process, we should remap our mindset to “test AND code.”

One of the big pitfalls of traditional development approaches, according to Janet, is the idea of throwing code over the wall for someone else to test. Instead, she argues we need to be thinking about coding and testing as one, intertwined process.

Janet also argues that the concept of “code then test” leads people to assume that testing comes after coding is already complete. If we approach testing and coding as an intertwined process, however, we should be thinking about testing at the same time or even before coding.

Bringing these processes in closer alignment will encourage better communication and collaboration between testers and coders and more efficiency to the development process, Janet says.

4. Test automation is a powerful and helpful tool, but it should be used strategically.

“When we think of automation as a tool,” Janet says, “I want to get the best out of it.” She says organizations should be focused on automating tests for issues they know exist, know how to test, and need to test repeatedly.

The closer we test to the code, Janet says, the quicker the feedback is that we receive. Good areas to focus test automation might be around things like business rules at the API level.

When it comes to implementing test automation, understanding what it takes to maintain that automation is key, Janet says.

Jeff Payne relates this focus on repeated testing to the concept of toil in DevOps or Lean. If we can focus automation on things that are done manually, over and over again, and that would be better suited for automation by machines, that gives humans more time to think more strategically and critically about what else needs to be tested.

For more on Janet’s concept of holistic testing, be sure to .

Coveros Staff

Coveros Staff

This post represents the collective insights of the Coveros team. Our staff consists of software experts who bring deep experience in secure agile development, DevOps, testing, and software quality. Over the past 20 years, Coveros has trained more than 30,000 professionals and worked with half of the Fortune 100 companies on mission-critical software development challenges. We draw on this extensive experience to share practical insights, proven strategies, and real-world solutions that help organizations build better software faster and more securely.