Ruthlessly Helpful
Stephen Ritchie's offerings of ruthlessly helpful software engineering practices.
Monthly Archives: June 2024
The Future of Software Testing
Posted by on June 24, 2024
In Mark Winteringham’s latest book, “AI-Assisted Testing,” he offers a balanced guide to the future of software testing. Manning early access version: https://www.manning.com/books/ai-assisted-testing

The field of software testing is rapidly evolving, and the author conducts a thoughtful and practical exploration of how artificial intelligence (AI), particularly generative AI, can improve the testing landscape.
Mark Winteringham’s journey into software testing is somewhat unconventional. Initially, he aspired to be a musician. He made his way into software testing through an interest in computers and his job testing music software. His background gave him a unique approach to testing, with a creative problem-solving aspect. The author’s 15+ years of experience and his previous book, “Testing Web APIs,” establishes him as a good thought leader in testing. I enjoyed learning more about Mark Winteringham during this HockeyStick Show interview.
What I like about “AI-Assisted Testing” is that it’s a structured guide through the many ways AI can enhance software testing. The book is divided into three main parts:
Part 1: Incorporating Large Language Models in Testing
This section introduces the concept of large language models (LLMs) and how they can be leveraged to enhance testing activities. Winteringham emphasizes the importance of understanding the potential and, what’s more important, the limitations of these models. He advocates for a balanced approach that integrates human expertise with AI capabilities.
Instead of attempting to use LLMs to replicate the full gamut of testing activities that exist within a lifecycle, we prioritize the best of our abilities as humans and the value we bring to testing. Then we choose to add LLMs in select areas to expand our work so that we can move faster, learn more and help ensure our teams are better informed so that they can build higher-quality products.
Part 2: Using Large Language Models for Testing Activities
Here, Winteringham dives into practical applications of LLMs in various testing scenarios. From test planning and data generation to UI automation and exploratory testing, the book provides concrete examples and use cases that demonstrate the tangible benefits of AI-assisted testing.
Part 3: Customizing LLMs for Testing Contexts
The final section explores advanced topics such as fine-tuning LLMs with domain-specific knowledge and using retrieval-augmented generation (RAG) to improve testing outcomes. This part is particularly useful for testers looking to tailor AI tools to their specific needs.
Practical Insights and Real-World Applications
One of the things I like about “AI-Assisted Testing” is its practical focus. Winteringham does not merely theorize about the potential of AI; he provides detailed inputs and examples of how to implement AI tools in real-world testing scenarios. For instance, he explains how to use AI to generate boilerplate code for test automation, thus saving valuable time and allowing testers to focus on more complex tasks.
He also highlights the importance of prompt engineering – the art of crafting effective inputs for AI models to maximize their output. He provides readers with a library of prompts and practical tips for creating their own, ensuring that testers can harness the full power of AI without falling into common pitfalls.
Addressing Skepticism and Misconceptions
Throughout the book, Winteringham maintains a healthy skepticism about the capabilities of AI, cautioning readers against over-reliance on these tools. He emphasizes that AI should be seen as a “collaborator” rather than a replacement for human testers. This perspective is really important in our industry, which often swept up in the hype of new technologies.
In his interview, Winteringham elaborates on this point, noting that while AI can significantly enhance certain aspects of testing, it cannot replicate the critical- and lateral-thinking skills of a human tester. He argues that the real value of AI lies in its ability to handle repetitive, algorithmic tasks, freeing up testers to engage in more creative and analytical work.
The Human Element in Testing
Winteringham’s emphasis on the human element in testing is a recurring theme in both the book and his interview. He advocates for a collaborative approach where testers use AI tools to augment their skills and improve their efficiency. This perspective is refreshing in an era where the fear of job displacement by AI is prevalent.
By highlighting the need for empathy, collaboration, and critical thinking in testing, Winteringham ensures that “AI-Assisted Testing” is not just about technology but also about the people who use it. His approach encourages testers to view AI as an ally that can help them achieve better results, rather than a threat to their livelihood.
I think that “AI-Assisted Testing” is a must-read for anyone involved in software testing. It offers a comprehensive and balanced view of how AI can be integrated into testing processes. It provides practical insights and examples. It makes theoretical concepts accessible and actionable.
