In this video, Ash Coleman explains testing in the agile context. Learn about the interactive, self-organizing process of autonomous testing teams.
- Testing is the art of going beyond validation and verification to stretch, shrink, stress, evaluate, and reveal aspects about a software you're creating through a series of tests. This helps to expose its potential breaks under usage. This is the job of a software quality engineer. This process could stand on its own, uninterrupted, and staged at the end of any development process. And honestly, it is what most people imagine when discussing testing.
Build software first, test it last. However, a question I always ask is why wait when there are measures that can be taken to gain understanding about a product's quality earlier in the process? This is called testing in an agile context, or simply agile testing. Agile testing is an interactive, self-organizing process, where experience and collaboration govern the ability to deliver effectively, taking the nature of agile and matching it with the best integration points within a workflow to provide the most feedback possible, all the while accessing most knowledge and understanding about technology at the very state it is in.
Imagine that, not waiting until the end; but instead, meeting the development process with innovative and planned integration of testing along the way, no longer leaving questions around quality as an afterthought. Instead, evolving the development process to include governed quality checks in each stage where decisions are being made. Working in this way has the capacity to produce a usable product with the utmost quality, a gauge at correctness and completeness, figured by conversations in planning of agile at delivery.
With this philosophy, we can answer more questions around quality when it's time to release a piece of software into the world.
- Testing in the agile context
- The role of the agile tester
- Backlog grooming
- Sprint planning
- Tracking bugs
- Manual testing
- Test automation
- Continuous integration