Randy has written popular books on various software testing topics. Here are his works, available on Amazon.com. Just click on the cover image to buy on Amazon.com

The Wit and Wisdom of Software Testing (2025)

Knowledge comes from facts and information gained through study, reading, and other sources. Wisdom comes from applying knowledge in real-world situations. Knowledge is about the “what” and “how”, while wisdom is about the “why” and “when.” Wit can help software testers navigate the complexities of software development with grace and humor, making the testing process more enjoyable and productive for everyone involved. In this book, Randy Rice shares his favorite off-the-cuff sayings that offer perspective on software development and testing, drawn from his fifty-plus years of experience in software projects.

Surviving the Top Ten Challenges of Software Testing (1997)

Software testers require people-oriented skills to survive what can often be a lose-lose relationship with developers and managers. Surviving the Top Ten Challenges of Software Testing goes beyond the technical skills required for effective testing to address political realities that technical knowledge alone can’t solve.

Authors Perry and Rice compile a “top ten” list of challenges testers face and offer tactics for success. The challenges show how testing fits into the context of software development and how testers can manage expectations and improve communication with managers, developers, and customers. The text includes a self-assessment of testing skills and an action plan to improve the testing process.

Topics include training, acquiring management support, obtaining tools, communicating with customers, managing changing requirements, marketing the importance of testing, testing what’s thrown over the wall, controlling the scope of testing, teaching developers to test, and handling the delicate situation of reporting defects.

Testing Dirty Systems (2011)

Dirty systems lack documentation, have few or no defined requirements, have no standardized design or architecture, and have unknown levels of defects. These systems are difficult to maintain and test because of their complexity and low understanding. People are often afraid to make any changes to this type of software because of the high risk of breaking things that currently work correctly.

In many cases, these systems are legacy and were never tested well in the first place. After years of maintenance, these systems are often in disarray due to a lack of control.

The object of this book is to assist software testers in how to approach testing a system, which in many instances appears as a “black box” to them. The testing process focuses heavily on a diagnostic step that scopes the test problem and helps the tester build an effective test plan. The process proposed in this book should significantly improve the effectiveness and efficiency of software testing. There are two main objectives for the reader: 1) learn how to test these complex and large legacy systems, and 2) use the information gained from testing to clean the system and improve maintenance and testing processes.