The Testing Wheel
Let’s learn about the testing wheel and its components.
We'll cover the following
The visual map below will help us determine what kind of test we need to write and where to put it. We’ll call it the testing wheel, and here’s what it looks like:
As we can see from the illustration, it’s made up of three distinct layers, one for each type of test.
What the layers represent
The order of the layers is important. They represents granularity. The deeper the layer, the less important it is to the end-user, and the more granular it can be in terms of coverage.
The outermost layer (the feature layer) is concerned with helping the user get what they want without too much concern for edge cases. It gives us the most value for time commitment by covering what’s essential to the business. However, it covers less of what’s not so important to the business but crucial to the application’s resilience.
As we move down a level, from feature tests to request tests, we increase test coverage and ensure that we test different cases in integration. We’ll talk about what that means in just a second.
Finally, we reach the core. That’s where we fine-tune our application’s behavior to the smallest detail. We can spend an enormous amount of time fine-tuning, but we should limit it, because we want to focus on delivering value to the business.