The goals and benefits of comprehensive test coverage

Kirk Nathanson
August 24, 2022

We’ve already talked about why the Test Pyramid should be retired as a testing strategy. In the past, teams had to weigh the value of comprehensive E2E testing against the time and cost to create, maintain, and run them. As you, dear reader, already know, teams would often choose cheaper, less comprehensive unit and integration tests instead. Comprehensive E2E tests were reserved for mission-critical user flows, and that’s about it. 

Thankfully, new solutions like ours make it possible to break out of the Test Pyramid mentality. You don’t have to settle for one or the other, you can (and should!) have both: rapid unit testing for small functions, and comprehensive E2E testing for a great user experience. 

If you haven’t read it, go take a look. This post isn’t going anywhere! Because now we’re going to talk about the overlooked benefits of having full E2E coverage, and the opportunities it creates for teams. 

Yes, there’s much more than just fixing regressions. 

Full E2E coverage reduces the risk of refactoring code

Unit and integration tests are great at what they do: validating small functions, or groups of functions. They’re also super fast and super reliable because they’re written directly into the repo. 

Which, funny enough, is their biggest drawback when you’re refactoring. 

As soon as the codebase changes, the unit tests need to be rewritten along with it. And you need to be extra cautious that the updated tests aren’t throwing false positives. Generally speaking, the less a developer has to touch the unit tests — well, any tests — the better off everyone is. 

Since E2E tests just simulate the user experience in a browser, they’re far more resilient to underlying code changes. As you refactor, you can look for issues with the E2E tests that you’re already using, which lets you evaluate impact quicker and with less effort.

➡ Read more: Why developers should own whitebox tests, not blackbox tests

Full E2E coverage gives you the security to innovate

Anyone in tech knows that standing still is an opportunity for competitors to swoop in. It’s a ruthless world. But the more complex your product, the more difficult it is to try new things: Tech debt builds up, people leave and take their institutional knowledge, documentation is never as good as it should be. 

We all know how the story goes. After a while, it becomes too risky to make big bets. You focus on small, incremental changes because you can’t be sure how bigger projects will affect the whole user experience. At some point the Jenga tower is simply too big to understand, and always at risk of falling over. 

High E2E test coverage mitigates that problem because you have total visibility. You can see in real-time what the impact of new code will be, so you can scope new projects more accurately and ship stable changes faster.

And yes, full E2E coverage finds the bugs you would otherwise miss

The safety to innovate and the confidence to refactor your code are only possible because full E2E coverage shows you how all the different systems powering your product interact with each other. 

A modern application needs dozens, if not hundreds, of separate APIs, databases, permissioning tools, authentication hooks, and other systems all working together. But a single test case only calls a few of them. So companies that rely on the Test Pyramid strategy, and only cover  10–20% of their user flows, leave most of their system interactions untested.

As they say, you can't fix what you can't measure.

Let’s build something great together

E2E coverage isn't the expensive, complicated effort it used to be. When you partner with QA Wolf, you'll get to 80% test coverage in under 4 months. And you'll stay there.

We don't just provide the tests, we provide the test coverage as a service: fixing flakey tests, filing bug reports, and expanding your test matrix as you release new features for your customers.

Keep reading