The Software Testing Pyramid: A Concrete Example
Mike Cohn’s Test Pyramid describes a test automation strategy consisting of a wide base of unit tests, service-oriented acceptance tests for business logic, and a thin layer of tests exercising the user interface. Tests that provide the quickest feedback and fault precision serve as the testing foundation. So, how does this work in practice? How does a team achieve this level of test automation and maintain it over time? How can the team avoid redundancy in the various test layers? Jim Weaver demonstrates the different types of tests for a real feature—enforcing business rules for prescribing a specific class of medications—of a product in the healthcare domain. He explains how testing decisions were made as the feature was developed, and how the team baked their testing strategy into the overall process for product development. Jim describes decisions made by the team regarding testing, and shows the unit tests, FitNesse tests, and WebDriver tests built by the team to support the feature.