Book Review of the Domain Testing Workbook

The Testing Domain Workbook is the most extensive and exhaustive work you will ever find on a specific testing technique (or related techniques if you include equivalence class analysis and boundary testing as the book does).

What I like best is the combination of academic background and roots combined with practical experience and industrial practice. All the concepts are presented in a simple and approachable manner with pointers to more details for those desiring more.

While the book appears daunting in size, it is only because of the extensive examples and exercises. The core of the book is very approachable and less than 100 pages. To gain mastery, working through the exercises is most useful, but you can do that over time.

Many practical aspects and considerations for testing are covered that are usually skipped over in broad testing surveys or short articles. For example, many books talk about different approaches such as risk-based, or pair-wise testing. Books may also cover the issue of combining values for a test, but Testing Domain Workbook walks you through the details and implications of what each approach entails when applied to combining values for a domain test. Further, it provides extensive guidance of when (in which context) the advice is most applicable (or not) such as:

If you’re doing system testing after the programmers have done extensive unit testing of their variables, it will be unnecessary and wasteful to do thorough testing of secondary dimensions.

The book incorporates many viewpoints, sometimes strong opinions, and pithy statements such as:

Boundaries are funny things. When people say “No one would need a value that big,” what they really mean is “I can’t imagine why anyone would need a value that big.” The world is often less constrained than the limits of our imagination.

The book is exacting and consistent in its terminology, but the reader needs to be careful to keep the concepts clear and distinct. For example:

Well-designed domain tests are powerful and efficient but aren’t necessarily representative. Boundary values are suitable for domain testing even if those values would be rare in use.

The best representative of the class is the one that makes the most powerful test.

So the best representative, most powerful, is not necessarily the most representative of typical values. The book focuses on boundary values and bug hunting so that typical values are unlikely to be used even though they are part of the domain. You need to use more than the one well-developed technique of this book as the authors themselves state. For example: well-designed scenario tests are usually representative but they’re often not powerful. To test a program well, you’ll use several different techniques.

You may become a better tester if you read this book. You will become a much better tester if you actually work through the exercises of the book.

 

Keith Stobie
Keith Stobie is a Quality Engineer Architect at salesforce.com who specializes in web services, distributed systems, and general testing especially design. Previously he has been at TIvo and for Bing Infrastructure where he planned, designed, and reviewed software architecture and tests. In Microsoft’s Protocol Engineering Team he worked on Protocol Quality Assurance Process including model-based testing (MBT) to develop test framework, harnessing, and model patterns. With three decades of distributed systems testing experience Keith’s interests are in testing methodology, tools technology, and quality process. Check out his blog (http://testmuse.wordpress.com) to learn more about his work.
Keith Stobie
Keith Stobie is a Quality Engineer Architect at salesforce.com who specializes in web services, distributed systems, and general testing especially design. Previously he has been at TIvo and for Bing Infrastructure where he planned, designed, and reviewed software architecture and tests. In Microsoft’s Protocol Engineering Team he worked on Protocol Quality Assurance Process including model-based testing (MBT) to develop test framework, harnessing, and model patterns. With three decades of distributed systems testing experience Keith’s interests are in testing methodology, tools technology, and quality process.

The Related Post

March Issue 2020: Smarter Testing Strategies for The Modern SDLC
LogiGear Magazine – February 2014 – Test Methods and Strategies
With this edition of LogiGear Magazine, we introduce a new feature, Mind Map. A mind map is a diagram, usually devoted to a single concept, used to visually organize related information, often in a hierarchical or interconnected, web-like fashion. This edition’s mind map, created by Sudhamshu Rao, focuses on tools that are available to help ...
Having developed software for nearly fifteen years, I remember the dark days before testing was all the rage and the large number of bugs that had to be arduously found and fixed manually. The next step was nervously releasing the code without the safety net of a test bed and having no idea if one ...
Training has to be fun. Simple as that. To inspire changed behaviors and adoption of new practices, training has to be interesting, motivating, stimulating and challenging. Training also has to be engaging enough to maintain interest, as trainers today are forced to compete with handheld mobile devices, interruptions from texting, email distractions, and people who think they ...
There are many ways to approach test design. These approaches range from checklists to very precise algorithms in which test conditions are combined to achieve the most efficiency in testing. There are situations, such as in testing mobile applications, complex systems and cyber security, where tests need to be creative, cover a lot of functionality, ...
In software testing, we need to devise an approach that features a gradual progression from the simplest criteria of testing to more sophisticated criteria. We do this via many planned and structured steps, each of which brings incremental benefits to the project as a whole. By this means, as a tester masters each skill or area ...
From cross-device testing, to regression testing, to load testing, to data-driven testing, check out the types of testing that are suitable for Test Automation. Scene: Interior QA Department. Engineering is preparing for a final product launch with a deadline that is 12 weeks away. In 6 weeks, there will be a 1 week quality gate, ...
I’ve been reviewing a lot of test plans recently. As I review them, I’ve compiled this list of things I look for in a well written test plan document. Here’s a brain dump of things I check for, in no particular order, of course, and it is by no means a complete list. That said, if you ...
The V-Model for Software Development specifies 4 kinds of testing: Unit Testing Integration Testing System Testing Acceptance Testing You can find more information here (Wikipedia): http://en.wikipedia.org/wiki/V-Model_%28software_development%29#Validation_Phases What I’m finding is that of those only the Unit Testing is clear to me. The other kinds maybe good phases in a project, but for test design it ...
Test design is the single biggest contributor to success in software testing. Not only can good test design result in good coverage, it is also a major contributor to efficiency. The principle of test design should be “lean and mean.” The tests should be of a manageable size and at the same time complete and ...
LogiGear Magazine March Issue 2018: Under Construction: Test Methods & Strategy

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe