• Home
  • BVSSH
  • Engineering Enablement
  • Playbooks
  • Frameworks
  • Good Reads
Search

What are you looking for?

Practice : Ensemble Testing

Purpose and Strategic Importance

Ensemble Testing is a collaborative quality practice where a cross-functional group of team members tests a product or feature together in real time. Also known as "mob testing", it brings together diverse perspectives - developers, testers, designers, and product managers - to explore, validate, and improve software collaboratively.

This approach accelerates feedback, uncovers edge cases, shares context, and reinforces quality as a shared responsibility. It is particularly useful before major releases, for critical paths, or when onboarding new features.


Description of the Practice

  • The whole team (or a cross-section) tests the same feature together using one shared device or environment.
  • One person drives (uses the product), while others observe, ask questions, and suggest scenarios to explore.
  • Sessions are timeboxed and focused, often lasting 60–90 minutes.
  • Ensemble Testing builds shared understanding of system behaviour, UX, risk, and coverage.
  • It complements automated testing by surfacing exploratory insights that tools alone may miss.

How to Practise It (Playbook)

1. Getting Started

  • Choose a candidate feature or workflow for ensemble testing - ideally one with business impact or complexity.
  • Invite participants from engineering, QA, product, and design.
  • Agree on the scope, duration, and goals for the session.
  • Use a shared environment or screen to guide the session and take notes collaboratively.

2. Scaling and Maturing

  • Rotate the driver role to ensure diverse perspectives and inclusivity.
  • Build a backlog of ensemble-worthy testing topics (e.g. regression candidates, risky paths).
  • Pair ensemble sessions with accessibility, performance, or exploratory test charters.
  • Capture insights and issues into your defect or story tracking tools.
  • Debrief at the end - what did we learn, what will we do next?

3. Team Behaviours to Encourage

  • Value curiosity, questioning, and shared problem-solving.
  • Emphasise psychological safety - no blame for missed bugs or misunderstandings.
  • Encourage observations over opinions - "What did you see?" rather than "What’s wrong?"
  • Create a rhythm of ensemble testing during releases, sprints, or as-needed checkpoints.

4. Watch Out For…

  • Lack of structure or facilitation - sessions should have clear goals and timing.
  • Dominance by a few voices - encourage balanced participation.
  • Assuming ensemble testing replaces automated or specialist testing - it’s a complement.
  • Poor follow-up on discovered issues or improvements.

5. Signals of Success

  • More defects, edge cases, and UX issues are found earlier.
  • Team understanding of user journeys, edge cases, and product risks improves.
  • Quality improves without increasing time to release.
  • Collaboration and psychological safety around testing strengthen.
  • Testing becomes a shared team habit, not just an individual role.
Associated Standards
  • Codebases consistently meet high standards of quality
  • Developer workflows are fast and frictionless
  • Teams frame and plan work around outcomes, not outputs
  • Operational readiness is tested before every major release
  • Operational tasks are automated before they become recurring toil

Technical debt is like junk food - easy now, painful later.

Awesome Blogs
  • LinkedIn Engineering
  • Github Engineering
  • Uber Engineering
  • Code as Craft
  • Medium.engineering