Testing is… (Concepts #2)

Photo by Holly Mandarich on Unsplash

This is part of my free testing course, focused on teaching you the fundamentals of testing 😉

🔎 Investigation

Testing uncovers information that enables better decisions.

  • Noticing what everyone looks but no one sees.
  • Looking for what is inconsistent or counter intuitive.
  • Finding problems before they happen or become critical.
  • Providing information that improves team’s decisions.
  • Gathering examples or patterns before reporting a bug.
  • Chasing some pattern which might be elusive or hard to understand.
  • Going beyond optimism and actually trying it.

⛺️ Exploration

Testing uses creativity to discover assumptions and unexpected behaviours.

  • Using the product like a well-behaved user would.
  • Abusing the product like a ill-intentioned user would.
  • Examining different aspects of the product to prevent surprises.
  • Identifying the product’s subtleties and extremities.
  • Studying the product beyond the formal requirements.
  • Using questions to validate assumptions and prompt new scenarios.
  • Exploring products imaginatively to find unexpected behaviours.

🤝 Empathy

Testing wears multiple hats to understand each stakeholders’ perspective.

  • Defining personas for the product’s stakeholders.
  • Applying different perspectives to the same situation.
  • Identifying your team’s biases and assumptions.
  • Speaking with different stakeholders to detect misunderstandings and misalignments.
  • Showing the client the gap between what they want and what the users want.
  • Thinking critically about features in order to evaluate their true value.
  • Negotiating with the client a balance between “good”, “cheap” and “pretty”.
  • Striving to deliver a reliable product that can be used with confidence.

💬 Communication

Testing democratises information and aids stakeholders talking to each other.

  • Combining scattered data into relevant and accessible information.
  • Sharing just the right information, at the right time, using the right format.
  • Reporting bugs in a way that developers can fix them and clients prioritise them.
  • Communicating clearly and helping others do the same, using questions and examples.
  • Keeping discussions visual and people engaged and feeling heard.
  • Using your “helicopter view” to onboard people and “flying down” to details when needed.
  • Maintaining documentation and training users on how to use the product.