Context-Driven Testing:
A Personal Journey from Process to Critical Thinking

By Jonathan Clarkin • May 26, 2014

My understanding of software testing has evolved dramatically over the past few years. What started as following prescribed processes has transformed into a journey of critical thinking and contextual awareness. This is the story of that awakening.

The Transformation: From Valley to Mountain

When testing consultant Selena Delesie first arrived at our organization to expand our understanding of what a “Software Tester” could be, I was deep in the valley of process-focused thinking. Today, while nowhere near the peak of this learning journey, my perspective has cleared considerably.

The core revelation? Software testing, like agile development, is fundamentally about applying critical thought rather than blindly following processes.

The Great Testing Divide

Understanding the Conflict

In the software testing community, there’s an ongoing debate between two prominent schools of thought:

The Standards-Based Approach (ISTQB):

  • Led by figures like Rex Black
  • Emphasizes repeatable, predictable processes
  • Focuses on certification and standardized methodologies
  • Promotes “best practices” as universal solutions

The Context-Driven Approach (CDT):

  • Championed by thought leaders like James Bach
  • Prioritizes human judgment and contextual decision-making
  • Advocates for heuristics over rigid processes
  • Treats testing as a skilled, investigative discipline

Rock'em Sock'em Robots - representing the ongoing feud between testing communities

The Five Schools of Software Testing

Bret Pettichord’s influential paper identifies five distinct approaches to software testing, providing a framework for understanding the broader landscape:

1. Analytic School

Philosophy: Testing as applied mathematics

  • Emphasizes metrics, measurements, and mathematical proofs
  • Values quantitative analysis and statistical approaches
  • Good for: Safety-critical systems, regulated industries

2. Standards School

Philosophy: Testing should be predictable and repeatable

  • Relies on certification programs and standardized processes
  • Assumes testing requires minimal specialized skill
  • Good for: Large organizations needing consistency across teams

3. Quality School

Philosophy: Testing as process adherence and gatekeeping

  • Focuses on compliance with defined quality standards
  • Positions testers as quality gatekeepers
  • Good for: Regulatory environments, mature organizations

4. Context-Driven School

Philosophy: Testing as human-centered risk investigation

  • Emphasizes skilled practitioners making informed decisions
  • Adapts approaches based on project context and constraints
  • Good for: Complex, innovative projects with unique challenges

5. Agile School

Philosophy: Testing as integrated development activity

  • Focuses on automation and rapid feedback cycles
  • Treats testing as a developer responsibility
  • Good for: Fast-paced development environments, continuous delivery

Heuristics vs. Best Practices: The Critical Distinction

The Problem with “Best Practices”

The term “best practice” implies a universal solution - a checklist that guarantees optimal results regardless of context. This creates several issues:

  • Oversimplification: Complex situations reduced to simple steps
  • Context blindness: Ignoring unique project constraints and goals
  • False confidence: Believing that following steps ensures success
  • Reduced thinking: Discouraging critical analysis of specific situations

The Power of Heuristics

Heuristics offer a fundamentally different approach:

“A technique for solving problems that is not guaranteed to be optimal but provides useful guidance for investigation.”

Key advantages of heuristic-based approaches:

  • Acknowledges uncertainty: Built-in recognition that context matters
  • Encourages adaptation: Guidelines that can be modified based on situation
  • Promotes learning: Each application becomes a learning opportunity
  • Preserves expertise: Requires and develops professional judgment

Why Context-Driven Testing Resonates

Embracing Intellectual Honesty

The context-driven approach intentionally chooses terminology that emphasizes uncertainty and professional judgment. By using “heuristics” instead of “best practices,” practitioners acknowledge that:

  • Every project is unique with its own constraints and objectives
  • Professional judgment matters more than process compliance
  • Continuous learning is essential for effective testing
  • Adaptation is a core skill, not a weakness

The Universal Application Principle

Context-driven testing doesn’t reject other schools of thought - it provides a framework for choosing when to apply them:

Need mathematical rigor? → Apply Analytic School approaches Working in a regulated environment? → Incorporate Standards School practices
Building in an agile environment? → Leverage Agile School techniques

The key is making informed choices based on your specific context rather than defaulting to any single approach.

The One Ring from Lord of the Rings - representing the fallacy of seeking one solution to rule them all

Building Critical Thinking Skills

Overcoming Cognitive Biases

Effective testing requires recognizing and compensating for common thinking traps:

  • Confirmation bias: Seeking evidence that supports existing beliefs
  • Anchoring bias: Over-relying on first information encountered
  • Availability heuristic: Overweighting easily recalled examples
  • Authority bias: Accepting information because of who said it

Practical Steps for Critical Thinking

  1. Question assumptions: Why do we believe this approach will work?
  2. Seek disconfirming evidence: What could prove this wrong?
  3. Consider alternatives: What other approaches might work?
  4. Evaluate context: How do our specific constraints affect the situation?
  5. Reflect on results: What did we learn that we can apply next time?

Moving Beyond the Testing Wars

Finding Common Ground

Rather than viewing the testing schools as opposing forces, we can recognize them as different tools for different contexts:

Shared Goals:

  • Helping software teams deliver valuable products
  • Reducing risk through informed testing strategies
  • Building testing expertise and capability
  • Improving software quality and user experience

Different Strengths:

  • Each school offers valuable insights for specific situations
  • Practitioners can learn from multiple approaches
  • Context determines which tools are most appropriate

The Path Forward

The most effective testers develop fluency across multiple schools while maintaining the critical thinking skills to choose appropriate approaches for each situation.

Personal Reflection: Choosing Context-Driven Testing

For me, the label “Context-Driven Tester” represents a commitment to:

  • Intellectual rigor: Questioning assumptions and challenging conventional wisdom
  • Continuous learning: Staying curious about new approaches and techniques
  • Professional judgment: Taking responsibility for testing decisions
  • Contextual awareness: Adapting strategies based on specific project needs
  • Collaborative exploration: Working with teams to discover effective approaches

Practical Implications for Modern Teams

For Individual Testers

  • Develop multiple testing skills across different schools
  • Practice critical thinking through regular reflection and questioning
  • Stay curious about new tools, techniques, and perspectives
  • Build influence through demonstrated competence rather than certification alone

For Testing Teams

  • Embrace diversity of thought and approach within the team
  • Create learning environments that encourage experimentation
  • Focus on outcomes rather than process compliance
  • Adapt strategies based on project evolution and learning

For Organizations

  • Hire for thinking ability in addition to technical skills
  • Support continuous learning and professional development
  • Measure testing effectiveness through business outcomes
  • Encourage innovation in testing approaches and techniques

Conclusion: The Ongoing Journey

Adopting a context-driven approach to testing isn’t about reaching a destination - it’s about committing to a journey of continuous learning and critical thinking. It means choosing intellectual honesty over false certainty, and professional judgment over mechanical process following.

The goal isn’t to eliminate all other approaches to testing, but to develop the wisdom to know when and how to apply different techniques effectively. In a rapidly changing technology landscape, this adaptability becomes not just valuable, but essential.

The question isn’t whether you follow best practices or use heuristics - it’s whether you think critically about your choices and remain open to learning from the results.