Agile Testing - Workproducts

Test Plan is prepared at the time of Release Planning and is revised at every Sprint Planning. Test Plan acts as a guide to the testing process in order to have the complete test coverage.

Typical Contents of a Test Plan are −

  • Test Strategy
  • Test Environment
  • Test Coverage
  • Scope of Testing
  • Test Effort and Schedule
  • Testing Tools

In Agile Projects, all the Team Members are accountable for the quality of the product. Hence, everyone participates in test planning as well.

A testers’ responsibility is to provide necessary direction and mentor the rest of the team with their testing expertise.

User Stories

User Stories are not testing work products in principle. However, in Agile Projects, the testers participate in the User Stories Creation. Testers write User Stories that bring value to the customer and cover different possible behaviors of the system.

Testers also ensure that all the User Stories are testable and ensure the Acceptance Criteria.

Manual and Automated Tests

During the first run of Testing, Manual Tests are used. They include −

  • Unit Tests
  • Integration Tests
  • Functional Tests
  • Non-Functional Tests
  • Acceptance Tests

The Tests are then automated for subsequent runs.

In Test Driven Development, Unit Tests are written first to fail, Code is developed and tested to ensure the Tests pass.

In Acceptance Test Driven Development, Acceptance Tests are written first to fail, Code is developed and tested to ensure the Tests pass.

In other Development methods, the Testers collaborate with the rest of the Team to ensure Test Coverage.

In all the types of methods, Continuous integration takes place, which includes continuous integration testing.

The team can decide when and what tests are to be automated. Even if automation of the tests requires effort and time, the resulting automated tests significantly reduce the repetitive testing effort and time during the iterations of the Agile Project. This in turn facilitates the team to pay more attention to the other required activities, such as new User Stories, Changes, etc.

In Scrum, the iterations are time-boxed. Hence, if a User Story testing cannot be completed in a particular Sprint, the tester can report in the daily standup meeting that the user story cannot reach the Done Status within that Sprint and hence needs to be kept pending to the next Sprint.

Test Results

As most of the Testing in Agile Projects is automated, the Tools generate the necessary Test Results Logs. Testers review the Test Results Logs. The test results need to be maintained for each sprint / release.

A Test Summary can also be prepared that contains −

  • Testing Scope (What was tested and what was not tested)
  • Defect Analysis along with Root Cause Analysis if possible
  • Regression Testing Status after Defect Fixes
  • Issues and the corresponding Resolution
  • Pending Issues, if any
  • Any modifications required in Test Strategy
  • Test Metrics

Test Metrics Reports

In Agile Projects, the Test Metrics include the following for each Sprint −

  • Test Effort
  • Test Estimation Accuracy
  • Test Coverage
  • Automated Test Coverage
  • No. of Defects
  • Defect Rate (No. of Defects per User Story Point)
  • Defect Severity
  • Time to Fix a Defect in the same Sprint (It costs 24x as much to fix a bug that escapes the current sprint)
  • No. of Defects fixed in the same Sprint
  • Completion of Acceptance Testing by Customer within the Sprint

Sprint Review and Retrospective Reports

Testers also contribute to the Sprint Review and Retrospective Reports. The typical contents are −

  • Test Metrics
  • Test Result Logs review results
  • What went right and what can be improved from Testing Point of View
  • Best Practices
  • Lessons Learned
  • Issues
  • Customer Feedback