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

PWAs have the ability to transform the way people experience the web. There are a few things we can agree we have seen happen. The first being that we figured out the digital market from an application type perspective. Secondly, we have seen the rise of mobile, and lastly, the incredible transformation of web to ...
Introduction This 2 article series describes activities that are central to successfully integrating application performance testing into an Agile process. The activities described here specifically target performance specialists who are new to the practice of fully integrating performance testing into an Agile or other iteratively-based process, though many of the concepts and considerations can be ...
In today’s mobile-first world, a good app is important, meaning an effective Mobile Testing strategy is  essential.  
Has this ever happened to you: You’ve been testing for a while, perhaps building off of a branch, only to find out that, after all of this time, there is something big wrong. It’s a bad build and now you have to go backwards, fix something, and get a new build. Basically, you just wasted ...
“Combinatorial testing can detect hard-to-find software faults more efficiently than manual test case selection methods.” Developers of large data-intensive software often notice an interesting—though not surprising—phenomenon: When usage of an application jumps dramatically, components that have operated for months without trouble suddenly develop previously undetected errors. For example, newly added customers may have account records ...
Do testers have to write code? For years, whenever someone asked me if I thought testers had to know how to write code, I’ve responded: “Of course not.” The way I see it, test automation is inherently a programming activity. Anyone tasked with automating tests should know how to program. But not all testers are ...
Introduction This article discusses the all-too-common occurrence of the time needed to perform Software Testing being short changed as specification, development, and unforeseen “issues” cause the phases prior to testing to expand. The result is that extreme pressure is placed upon the testing organization to perform the testing function within a reduced time frame. The ...
Test organizations continue to undergo rapid transformation as demands grow for testing efficiencies. Functional test automation is often seen as a way to increase the overall efficiency of functional and system tests. How can a test organization stage itself for functional test automation before an investment in test automation has even been made? Further, how ...
Introduction Software Testing 3.0 is a strategic end-to-end framework for change based upon a strategy to drive testing activities, tool selection, and people development that finally delivers on the promise of software testing. For more details on the evolution of software testing and Software Testing 3.0 see: Software Testing 3.0: Delivering on the Promise of ...
This article was developed from concepts in the book Global Software Test Automation: Discussion of Software Testing for Executives. Introduction Metrics are the means by which the software quality can be measured; they give you confidence in the product. You may consider these product management indicators, which can be either quantitative or qualitative. They are ...
Introduction Many companies have come to realize that software testing is much more than a task that happens at the end of a software development cycle. They have come to understand that software testing is a strategic imperative and a discipline that can have a substantial impact on the success of an organization that develops ...
With complex software systems, you can never test all of the functionality in all of the conditions that your customers will see. Start with this as a fact: You will never test enough! Step 2 in getting started is to read and re-read The Art of Software Testing by Glenford Myers. This classic will set the ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe