Agile testing quadrant
Get the project source code below, and follow along with the lesson material.
Download Project Source CodeTo set up the project on your local machine, please follow the directions provided in the README.md
file. If you run into any issues with running the project source code, then feel free to reach out to the author in the course's Discord channel.
This lesson preview is part of the Pain Free Mocking with Jest course and can be unlocked immediately with a \newline Pro subscription or a single-time purchase. Already have access to this course? Log in here.
Get unlimited access to Pain Free Mocking with Jest, plus 70+ \newline books, guides and courses with the \newline Pro subscription.
[00:00 - 00:18] A well-planned testing approach ensures teams write the proper kinds of automated tests for high risk or important areas, keeping code high quality over time as needs change. One framework that can help guide testing strategy is the Agile Testing Quad rants model, and the vertical axis represents technology-facing tests.
[00:19 - 00:35] Introduced by Brian Marek, the Agile Testing Quadrants provide a framework to categorize different types of testing based on just scope and purpose. These quadrants help teams ensure comprehensive test coverage throughout the software development lifecycle. We have four quadrants divided into two axes.
[00:36 - 00:52] The horizontal axis representing the business-facing test and the vertical axis represents the technology-facing tests. Starting in quadrants one, these are the unit tests. These tests are technology-facing and are focused on checking individual components or functions in isolation.
[00:53 - 01:00] They ensure that each part of the codebase functions are expected. Moving to quadrant 2, these are integrated tests.
[01:01 - 01:18] Integration tests are still technology-facing, but they focus on interactions between different components or modules. They help ensure that these components work well together. Let's explore quadrant 3, which contains system tests. These tests are business -facing and ensure that the entire system functions are expected from an end-user perspective.
[01:19 - 01:35] These could include functional and non-functional testing. Finally in quadrants 4, we have explor atory tests. These tests are business-facing and focus on uncovering unexpected issues through exploration and experimentation. They discover usability, security or order real-world issues.
[01:36 - 01:55] You might be wondering how to apply these quadrants in practice. The idea is to balance your testing efforts across all four quadrants. This ensures a comprehensive approach that covers both business and technology aspects. For example, you might start with unit testing in quadrant 1. During development, they move to integrated tests in quadrant 2 as components come together.
[01:56 - 02:05] System tests in quadrant 3 can be performed as part of the testing phase. And exploratory tests in quadrant 4 can be ongoing throughout the development life cycle.
[02:06 - 02:24] This ties into the last lesson about code coverage. Instead of 100% code coverage, identify the high risk and high value areas in your application and then ensure you properly test that. This model promotes making value-driven decisions about testing scope and effort. It aligns testing to business priorities while minimizing wasteful practices.
[02:25 - 02:38] By leveraging the agile testing quadrant, teams can create a well-rounded testing strategy that addresses both technical and business aspects. This not only improves the quality of the software, will also accelerate the delivery process.