Rapid Testing
Faster testing for faster time-to-market.
* Accelerated testing strategies to beat the competition
* Templates for creating your own testing documentation instantly
* Tips for successfully integrating testing into a fast-track development strategy
The breakneck pace and fierce competition in today's software market demand that products get to market as quickly as possible. The challenge of maintaining quality while meeting deadlines leads to new strategies for testing through the development process. While no software is flawless, the goal of rapid testing is to identify major bugs early in the development process, requiring integration of test planning, execution, and reporting throughout the life cycle.
Rapid Testing offers a three-part approach to help you streamline your testing process and increase quality without sacrificing time:
* Principles and processes of rapid testing
* Techniques, tips, and real-life examples
* A complete set of sample test documentation
With an emphasis on speed and integration, Rapid Testing covers the entire testing life cycle, including:
* Bug tracking and reporting
* Verification and validation techniques
* Testing metrics and test resource estimation
* Planning and test case design and development
* Measurement, reporting, documentation, and evaluation
Conveniently organized for handy reference, Rapid Testing is an ideal guide for test engineers and managers, as well as other developers and managers involved in the testing process.
Review By: Alan D. Smith
04/10/2006This book provides the reader with complete coverage of techniques for improving both the speed and quality of testing: speed, as the authors promote the value of testing early in the software development lifecycle; and quality, as the authors discuss every aspect of testing including test planning, test management, and test process improvement. They start by explaining rapid testing as “testing software faster than you do now, while maintaining or improving your standards for quality.”
The book is divided into two parts. Part 1 explains rapid testing and part 2 contains approximately one hundred pages of examples.
In chapter 1 the authors introduce the reader to the concept of rapid testing. They start with basic definitions of several key areas of software testing as they relate to the software development lifecycle. These include requirements analysis, test planning, test design, implementation and debugging, and finally system and acceptance testing.
From this starting point, the authors take an in-depth look at these key phases of testing and how to improve their application to make them more efficient. They also address other key testing topics, including joint application requirements, testing metrics, and test estimation. The goal is to make testing more productive and less time consuming. As they state so clearly, “Our approach in this book will be to look at every phase of the software process from the viewpoint of a test engineer to see if there is a way to speed up the testing while maintaining or improving quality.”
Part 2 provides the reader with a complete set of examples for requirements defining, test planning, testing procedures, and systems test summary reporting.
I found this book to be one of the greatest sources of testing information I have read. I have been testing for about twelve years, and it was great to find many of the topics that I either have applied or have planned to explore in one concise book. Besides including every aspect of the testing process that many other books have touched on in the past, this book contains two topics that I have not found in as much detail in any other software testing book: requirements management and testing process improvement. The authors do an especially good job discussing requirements management and requirements traceablity. Having applied many of their concepts, I was delighted to find them so well documented from a tester’s perspective.
The authors’ explanation of The Software Engineering Institute’s Capability Maturity Model (CMM) hits the nail right on the head. They also do a great job of clarifying static testing (review of code and requirements) and dynamic testing (using the code in the traditional testing sense).
Whether you’re new to testing or an experienced tester, you will find this book an invaluable source of information. For the new tester, it covers every step of testing in as complete a description as I have found in any book. If you are already testing, you will be introduced to many new concepts that you will be able to apply to your current projects. If you have been testing for some time, you will find that this book confirms many of the thoughts you’ve probably had in your attempts to improve your testing processes.
Review By: Thomas Burke, MSQA
04/10/2006Rapid testing is a response and solution to the business-driven demands for faster testing in order to achieve the product goal of a shorter time to market. The demands for a reduced software development life cycle are changing the strategy of testing. “Rapid Testing,” by Robert Culbertson, Chris Brown, and Gary Cobb, presents a comprehensive solution to these demands and covers territories from testing techniques to test planning.
In order to keep up with a constantly changing business environment, software testing has to become more organized and precise. It has to begin early in the lifecycle, and this book contains some good chapters on how QA needs to get involved in requirements development and how to test requirements. Certain testing techniques, such as inspections and walkthroughs, are discussed, but the real strength of “Rapid Testing” is its ability to be flexible with the available testing tools an organization may already have and use. Unlike a number of other books, “Rapid Testing” is not tied down to specific tools. A cornucopia of tools is presented, and various tools can be selected depending on the maturity of the organization.
The book is divided into three major parts. The first part is the rapid testing process itself. In an easy-to-read format, the authors introduce rapid development and define the basic concepts of software testing, bug detection, and development models. Consider the first part an introduction; it can be skimmed over by readers who are familiar with the basic concepts of software development and testing.
The second part of “Rapid Testing” is where you'll find the meat. It covers rapid testing techniques and tips. Methods discussed include analyzing requirements, estimating and scheduling the test effort, conducting inspections and reviews, designing black box tests, and reporting test results.
A weak point in the book occurs during the discussion of time estimation. I wish the authors had more to say about it, but it is more art than science, and there is already a lot of material out there.
One of the text’s resources that I found very useful is the requirements traceability matrix. Another extremely useful tool I was introduced to is the Joint Application Requirement (JAR) methodology. This technique brings product team members together to review the requirements. After reading about JAR, I used it successfully in my workplace.
The third part of the book is a real jewel. This is where you'll find a number of concrete examples of testing techniques and tools. Included are examples of bug reports, test plans, requirements definitions, and test summary reports. I found the test summary reports to be useful. My wish list for this book would be that these examples and templates be included on an accompanying DVD.
Overall, I recommend “Rapid Testing” for anyone involved in Web-based application testing. This book is not just for QA. Developers; project managers can benefit from reading it as well.