For Training, Coaching, and Consulting engagements, please contact me for details on how I can help your organization.

Category: Scrum Patterns / Optional Scrum Patterns / (User) Story Testing Patterns

Pattern: Specification by Example - Conceptual or Concrete

Also Known As:
Warning! Patterns are not a concrete methodology, and using only documented patterns is a sure fire way to destroy creativity and innovation. More here.

Pattern Summary:

  • Story Testing technique that uses a set of example inputs and outputs to prove that the functionality described by the Story functions correctly. The key part of the technique is ensuring that enough of the right examples are described to prove functionality correctness.

Possibly Good For:

  • Tests that have numerous:
    • Inputs that affect output behavior
    • Outputs/expected behaviors
  • Tests where it’s important to test a lot of different data scenarios
  • Tests where the trigger event is somewhat obvious
  • Any test where it seems like a table would be useful to:
    • describe the test better, or
    • help explore all of the possible inputs and outputs for a test.

Possibly Bad For:

  • Simple tests
  • Tests that are more about verifying simple UI behavior
    • For instance – “Test that an error message is displayed when the user enters an incorrect password.”
  • Test where there is really only one input or precondition

Pattern Details & References:

  • This technique is particularly useful for a product or system that only talks to other systems, or where there is an expose API/web services or similar.
    • Note that this technique can be easily mis-applied to so called "technical stories", or stories where the services in question are not actually at the boundary of the system. One should never create user stories for describing the internal behavior of a system. User Stories should describe interaction between the current system and humans, OR interaction between the current system and some outside system that is not under the current team's control.

Pattern Contributors:

  • Charles Bradley

Q. How can I contribute my own Daily Scrum (or just general Scrum) patterns?

Q. How can I give feedback on Scrum Patterns?