James Bach Why Testers Matter. Reasserting our role in the AI DevOps era

Posted on Dec 6, 2024
tl;dr:

SUMMARY

James Bach, testing expert, discusses the value of skilled testers in an AI-driven world, emphasizing the necessity for critical thinking, empirical approaches, and independent roles in software testing.

IDEAS

  • Testing ensures quality by seeking and finding defects, not merely assuming good results.
  • Developers often lack time and motivation to perform thorough, unbiased testing.
  • Independent testers maintain critical distance, providing unfiltered and honest product assessments.
  • AI’s fragility and algorithmic obscurity make testing more essential than ever.
  • Empirical approaches in testing uncover truths rather than relying on assumptions.
  • Skilled testing requires specific expertise, beyond intuitive or amateur efforts.
  • Testing reveals risks early, akin to a lookout spotting icebergs for the Titanic.
  • The absence of strong testing leads to over-reliance on automation and shallow quality metrics.
  • Session-based testing allows for accountability while maintaining flexibility.
  • Certification like ISTQB often lacks validation of real testing skills and contributes minimally to the industry.
  • Real-time exploratory testing generates deeper insights than scripted, procedural approaches.
  • Test case documentation, though necessary in some contexts, can be replaced with lightweight methods.
  • Analogies like insurance, journalism, and bodyguards help explain testing’s value to stakeholders.
  • Tools and frameworks should assist testers, not attempt to replace them entirely.
  • AI testing requires human oversight due to its inability to perform nuanced inquiry processes.
  • Testing strategies must evolve with laws emphasizing software safety and liability.
  • Crowdsourced testing is viable for early-stage startups but insufficient for high-risk industries.
  • Testers’ unique mindsets make them more critical and skeptical compared to developers.
  • Complex AI tools demand specialized skills, emphasizing the need for independent testers.
  • Effective automation strategy incorporates human judgment at all critical junctures.

INSIGHTS

  • Skilled, independent testers are irreplaceable for objective, thorough product evaluations.
  • AI’s unpredictability highlights the need for human oversight in software testing.
  • Empirical, critical approaches ensure testing uncovers defects beyond surface-level functionality.
  • Test case documentation must balance utility with the cost of maintenance and flexibility.
  • Testing as storytelling bridges technical findings with actionable business decisions.
  • Testing should prioritize risk assessment, guiding businesses to preempt critical failures.
  • Continuous learning and adaptability define a complete and effective tester.
  • Exploratory testing fosters discovery and adapts seamlessly to changing software landscapes.
  • Independent testers maintain objectivity, safeguarding against conflicts of interest.
  • Testing tools should empower human testers, not supplant their critical judgment.

QUOTES

  • “Testing is about preventing loss, not about making money.”
  • “Developers assume tools work; testers confirm tools actually do.”
  • “AI should be thought of as a precocious but irresponsible child.”
  • “You can miss a lot of bugs by focusing only on sanity checks.”
  • “Testers must actively seek trouble to uncover hidden risks.”
  • “Good testers are motivated to test and are available to do so.”
  • “Automation without human oversight leads to dangerous blind spots.”
  • “A smoke alarm that doesn’t work appears fine when there’s no fire.”
  • “Critical distance ensures testers can report unbiased findings.”
  • “Testing should be exploratory first, moving toward scripted where necessary.”
  • “To test AI effectively, one must understand its social and algorithmic challenges.”
  • “AI-driven automation lacks judgment, making skilled human testers indispensable.”
  • “The Titanic’s lookout wasn’t the captain—testers provide warnings, not steer ships.”
  • “Crowdstrike’s failure wasn’t sudden; it resulted from prolonged neglect of testing.”
  • “Testing laws are evolving to prioritize user safety and product reliability.”

HABITS

  • Practice exploratory testing to foster adaptability and creativity.
  • Regularly review and refine testing strategies based on evolving risks.
  • Use lightweight, flexible documentation to balance accountability and agility.
  • Engage in continuous learning through research, reading, and hands-on projects.
  • Build a personal network of critical-thinking peers for collaboration.
  • Record testing sessions to maintain evidence without excessive overhead.
  • Experiment with different testing tools and frameworks to enhance productivity.
  • Test AI systems through APIs to validate at scale and identify limitations.
  • Develop analogies to articulate the value of testing to stakeholders.
  • Leverage mind maps and visual tools to plan and document test strategies.
  • Challenge and critique your test plans to uncover weaknesses.
  • Balance exploratory and scripted testing based on context and project needs.
  • Create scenarios to simulate real-world conditions in testing.
  • Focus on storytelling when communicating test findings to stakeholders.
  • Regularly practice coding and tool usage to improve technical testing skills.

FACTS

  • AI’s “black box” nature makes algorithmic obscurity a core testing challenge.
  • European Union’s Product Liability Directive emphasizes safety under foreseeable misuse.
  • Continuous delivery workflows often sacrifice testing thoroughness for speed.
  • Testers in medical devices rely on video evidence to meet regulatory requirements.
  • AI struggles with inquiry, requiring supervision for complex testing tasks.
  • Automated testing often misses nuanced bugs only humans can identify.
  • Testing mindset differs fundamentally from development, emphasizing critical evaluation.
  • Testing’s insurance-like role is about risk mitigation, not direct profit.
  • Over-documentation in testing can lead to rigidity and wasted resources.
  • Certifications like ISTQB lack rigorous validation of actual testing skills.
  • Crowdsourced testing suits early stages but fails in high-stakes environments.
  • Regression testing in AI is more challenging due to radical fragility.
  • Testers bridge the gap between technical findings and business implications.
  • Analogies help explain abstract testing concepts to non-technical audiences.
  • Exploratory testing adapts to unknown variables, offering unique problem-solving potential.

REFERENCES

  • 21 CFR 830 (regulation for medical device testing documentation).
  • Session-based test management (original article by James Bach’s brother).
  • European Union Product Liability Directive on software safety.
  • JQ tool for handling JSON in testing scenarios.
  • Playwright automation framework for scalable UI testing.
  • Christina Soare’s portfolio of exploratory testing work.
  • Hacker News as a source for updates on testing tools and trends.

ONE-SENTENCE TAKEAWAY

Skilled, independent testers with critical thinking are irreplaceable for ensuring reliable, user-centric software in an AI-driven world.

RECOMMENDATIONS

  • Focus on identifying and mitigating risks to improve testing’s business relevance.
  • Use exploratory testing to uncover hidden defects and adapt to evolving scenarios.
  • Maintain critical distance to provide unbiased and truthful product evaluations.
  • Engage in continuous learning to stay ahead in a rapidly changing industry.
  • Build a portfolio showcasing testing expertise to stand out professionally.
  • Implement session-based testing for structured yet flexible quality assurance.
  • Use lightweight documentation methods like videos to streamline processes.
  • Test AI systems rigorously via APIs to handle their algorithmic complexity.
  • Develop analogies to articulate testing’s value to stakeholders effectively.
  • Collaborate with peers to enhance skills and benchmark testing practices.
  • Balance automation with manual testing to ensure comprehensive coverage.
  • Emphasize storytelling to communicate testing insights to non-technical teams.
  • Practice using diverse tools and methodologies for comprehensive skill development.
  • Stay updated with industry trends through forums, conferences, and communities.
  • Advocate for testing’s value by framing it as critical for risk management.

https://youtu.be/c3lGaU6Tzzw?si=ccOnbEHa9ps2R67g