Skip to content

Agile Testing - Workproducts

In Agile projects, testing work products are often lightweight, dynamic, and collaboratively created. They focus on providing value and facilitating communication rather than extensive, static documentation.

Instead of a voluminous traditional test plan, Agile teams often develop a lean Test Strategy or a lightweight, living Test Plan. This document is typically created during release planning and refined during each sprint planning. It serves as a guide for the team’s testing approach.

Typical contents of an Agile Test Strategy might include:

  • Testing Scope: What will and will not be tested, key features, and risk areas.
  • Testing Levels & Types: Approach for unit, integration, system, UAT, performance, security testing, etc.
  • Test Environments: Description and management of test environments.
  • Test Data Management Strategy: How test data will be created, managed, and maintained.
  • Automation Strategy: What to automate, tools, frameworks, and integration with CI/CD.
  • Roles and Responsibilities: Who is responsible for various testing activities (emphasizing whole-team ownership).
  • Tools: Selected tools for test management, automation, performance, etc.
  • Metrics & Reporting: Key quality metrics to track and how they will be reported.

All team members, especially testers, contribute to the test strategy, ensuring it aligns with the project’s goals and context.

While user stories are primarily requirement artifacts, testers play a crucial role in their refinement. Testers collaborate (often in ‘Three Amigos’ sessions with Product Owners and Developers) to ensure user stories are clear, testable (following INVEST criteria), and have well-defined, unambiguous Acceptance Criteria.

Acceptance Criteria often form the basis for acceptance tests (manual or automated) and are a key input for ATDD/BDD practices.

Agile testing employs a mix of manual and automated tests across different levels:

  • Automated Unit Tests: Written by developers, often using TDD, to verify small code units.
  • Automated Integration/API Tests: Verify interactions between components or services.
  • Automated UI/End-to-End Tests: Validate user workflows through the UI. These are powerful but can be more brittle and slower, so used judiciously (top of the test pyramid).
  • Manual Test Cases/Checklists: Used for exploratory testing, usability testing, and scenarios difficult or not cost-effective to automate. These are often lightweight and experience-based.
  • BDD Scenarios: Written in Gherkin (Given-When-Then) and automated to serve as living documentation and acceptance tests.

In TDD, unit tests are written before code. In ATDD/BDD, acceptance tests/scenarios are defined before or concurrently with development. Continuous integration and continuous testing are central, with automated tests running frequently as part of the CI/CD pipeline.

The decision of what and when to automate is strategic, balancing effort, value, maintainability, and feedback speed. Automation significantly reduces repetitive testing effort, freeing up testers for higher-value activities like exploratory testing and test strategy refinement.

If a user story’s testing cannot be completed within a sprint (violating the Definition of Done), the team discusses this in daily stand-ups and decides how to handle it (e.g., splitting the story, moving it to a future sprint).

Test results are critical for feedback. Automated test execution reports are typically generated by CI/CD tools and test automation frameworks. Testers analyze these results, investigate failures, and log defects.

Defect reports in Agile are usually managed in an issue tracking system (e.g., JIRA). They should be clear, concise, and provide enough information for developers to reproduce and fix the issue. Defects are prioritized and typically addressed within the current or next sprint.

A brief Test Summary might be shared at the end of an iteration or release, highlighting:

  • Testing Scope (what was tested, key features covered).
  • Summary of test execution (pass/fail rates, number of tests executed).
  • Key defects found and their status.
  • Regression testing status.
  • Any outstanding risks or issues.
  • Key test metrics and trends.

Agile teams track various metrics to monitor quality and process effectiveness. These are often visualized on dashboards for transparency:

  • Test Coverage (Requirements, Code, API Endpoints).
  • Test Automation Coverage (percentage of automated tests).
  • Defect Density (defects per story point/feature).
  • Defect Escape Rate (defects found in production).
  • Mean Time To Detect (MTTD) / Mean Time To Resolve (MTTR) for defects.
  • Build Success Rate (stability of CI builds).
  • Test Execution Pass/Fail Rate.

These metrics help identify trends, areas for improvement, and provide data-driven insights for decision-making.

Sprint Review and Retrospective Contributions

Section titled “Sprint Review and Retrospective Contributions”

Testers actively participate in Sprint Reviews by demonstrating tested functionality and discussing quality aspects. In Sprint Retrospectives, testers provide valuable input on:

  • What went well in terms of testing and quality assurance.
  • What challenges were encountered (e.g., test environment issues, unclear requirements, automation flakiness).
  • Analysis of test metrics and defect trends.
  • Suggestions for improving testing processes, tools, or collaboration.
  • Lessons learned and best practices identified.
  • Action items for enhancing quality in future sprints.

Customer feedback gathered during sprint reviews or UAT is also a crucial work product that informs future development and testing efforts.