In this blog, we take a look at Breadth testing and its complementary Depth testing.
In Breadth Testing the full functionality of a product(all the features) are tested but the features are not tested in detail.
In Depth Testing, the feature of a product is tested in full detail.
There are some scenarios where Breadth testing takes precedence and others where Depth testing takes precedence. In practice though, a combination of both is used. These techniques help prioritize tests and in times of schedule crunches, decide on the optimal use of time to pick the best areas to concentrate on.
Breadth and Depth testing are used in many different contexts:
1. Integration Testing: during Top-Down integration, developers can decide whether to use a breadth first or depth first strategy.
2. Sanity testing: We use breadth first usually to ensure the full functionality is working.
3. Functional/System Test: A combination of both – breadth and depth is used i.e. the full functionality and in depth testing of features is used.
4. Automation: to decide whether we want to automate the end to end or a particular feature in depth or detail.
5. Test coverage metrics: How many features have been covered vs how much in depth have they been covered.
6. Regression: Breadth testing first followed by Depth testing of the changed functionality.
7. Test Data: Breadth refers to the variation in test data values and categories whereas Depth refers to the volume or size of databases.