Agile Testing – Kanban

Agile Testing activities can be managed effectively using Kanban concepts. The following ensure testing to be completed in time within an iteration / sprint and thus focus on the delivery of quality product.

  • User Stories that are testable and effectively sized result in development and testing within the specified time limits.
  • WIP (Work-In-Progress) limit allows to focus on a limited number of user stories at a time.
  • Kanban board that represents the workflow visually, helps to track the testing activities and bottlenecks, if any.
  • Kanban team collaboration concept lets resolution of bottlenecks as they are identified, without wait time.
  • Preparation of Test Cases upfront, maintaining the test suite as the development progresses and obtaining Customer Feedback helps in eliminating Defects within the iteration / sprint.
  • Definition of Done (DoD) is said to be Done-Done in the sense that a Story reaches a completion state only after the testing is also complete.

Testing Activities in Product Development

In Product development, the releases can be tracked with feature Kanban board. Features for a particular release are assigned to the Feature Kanban board that tracks the feature development status visually.

The Features in a release are broken into stories and developed within the release using agile approach.

The following Agile Testing activities ensure quality delivery in every release and at the end of all releases as well −

  • Testers participate in User Story Creation and thus ensure −
    • All the possible Behaviors of the System are captured by means of User Stories and the Non-functional Requirements that are part of the User Stories.
    • User Stories are Testable.
    • Size of the User Stories allow Development and Testing to be complete (DoneDone) within the Iteration.
  • Visual Task Kanban Board −
    • Depicts the status and progress of the Tasks
    • Bottlenecks are identified immediately as they occur
    • Facilitates to measure the cycle time which can then be optimized
  • Team Collaboration helps in −
    • Accountability of the entire Team for Quality product
    • Resolution of bottlenecks as and when they occur, saving on wait time
    • Contribution of every expertise in all the activities
  • Continuous Integration that focuses on Continuous Integration Testing
  • Automation of Tests to save on Testing Effort and Time
  • Defect Prevention with Test Cases written earlier to Development and mentoring the Developers on what is anticipated by different behaviors of the System −
    • WIP Limit to focus on a limited number of User Stories at a Time
  • Continuous Testing as the Development progresses, to ensure Defect Fixes within the Iteration −
    • Ensure Test Coverage
    • Keep the Open Defects Count Low

Story Exploration

Story Exploration is the communication within an Agile team to explore Story understanding when the product owner passes a story for acceptance for development.

The product owner comes up with the story based on the functionality expected by the system. The developers do more exploring on each story before they mark it ready for acceptance. Testers also participate in the communication from testing perspective to make it as testable as possible.

Finalization of the Story is based on constant and continuous communication among the Product Owner, Developers and Testers.

Estimation

Estimation happens in Release Planning and each Iteration Planning.

In Release Planning, the testers provide −

  • Information on what testing activities are required
  • Effort Estimation for the same

In Iteration planning, the testers contribute to deciding on what and how many stories can be included in an iteration. The decision depends on the Test Effort and Test Schedule Estimation. The Story Estimation reflects the test estimation as well.

In Kanban, Done-Done is accomplished only when a story is developed and tested and marked as complete without defects.

Hence, Test Estimation plays a major Role in story estimation.

Story Planning

Story Planning begins after a Story has been estimated and assigned to current Iteration.

Story Planning includes the following test tasks −

  • Prepare Test Data
  • Extend Acceptance Tests
  • Execute Manual Tests
  • Conduct Exploratory Testing sessions
  • Automate Continuous Integration Tests

In addition to these Testing Tasks, other tasks also may be required, such as −

  • Performance Testing
  • Regression Testing
  • Updates of related Continuous Integration Tests

Story Progression

Story Progression uncovers additional tests that are required resulted by continuous communication between the developers and testers. In situations where the developers need more clarity on implementation, testers perform exploratory testing.

Continuous Testing is performed during Story Progression and includes Continuous Integration Testing. The entire team participates in the testing activities.

Story Acceptance

Story Acceptance occurs when the story reaches the Done-Done state. i.e., the story is developed and tested and signaled as complete.

Story testing is said to be completed when all the tests relevant to the story pass or level of test automation is met.

Leave a Reply