Software Testing Fundamentals
A software tester’s survival guide from a leading expert in the field.
Software testing expert Marnie Hutcheson explains both the theory and the practical application of her down-to-earth approach to risk-based testing, the Most Important Tests (MITs) method. The many proven tools, methods, and metrics examined can be used to ensure that you always have reliable, functional software and systems. Software Testing Fundamentals presents a best practice approach that can be applied to almost any project, from the largest systems to the smallest Web sites. Discover how the MITs method can be used to evaluate test needs, get the budget, show the value of testing, and perform a successful test effort.
Rich with examples from real-world development projects that range from traditional to eXtreme, this book shows you:
- How to pick the most important tests for your test effort, whether it is well-planned or design-as-you-go
- Ways to use measurement to test software, to communicate the results to others, and to make improvements
- How to use tools you already have to automate your test effort so you can boost your testing efficiency
- Tips on how to demonstrate the value added by your test effort
- Tools and analysis techniques for test estimation, sizing, and planning
The companion Web site contains:
- Sample templates and worksheets
- Support materials
- A discussion group
- Links to many resources
Review By: Marsha L. Robertson
07/08/2010This book is based on methods developed by the author in the 1980’s and first presented in an earlier book. They were first adapted into a class, then content for a Web site, and then into the current form. The book is easy to read and well organized. Most of the chapters could stand alone, but seem to work better in the groups described below.
Each of the first three chapters is a timeline of a particular subject: The State of Software Testing, Maintaining Quality Assurance, and Approaches to Managing. This includes some history of each area, along with how each has changed (or not) over time, and what is useful (or not) for testers now. The next two chapters are introductions to some of the book’s main topics: Most Important Tests and Metrics for Testing. Definition of the concepts, examples, and real-life applications are included here.
Chapters 6, 7, and 8 are devoted to another main topic: The Test Inventory. Again, definitions, examples, and applications of a test inventory are provided, but the author also discusses how to build the inventory and sort out what is appropriate for a particular project. Chapters 9 and 10 cover risk analysis. There are more definitions and examples, and a discussion of how to apply risk analysis to a project. These chapters also include more discussion of metrics.
The next three chapters give an explanation of path and data analysis and how they can be applied. There are other books on the market that give more detailed explanations, but this is an excellent quick reference. The final chapter is another timeline, but one that projects into the future. The author speculates on what processes we have now that will be discarded and what ones will still be useful and survive to be used with future software. There are also three appendices included: Appendix A has the answers for exercises given earlier in the book, Appendix B discusses a survey given to testers, and Appendix C shows some useful templates.
The author describes this book as "a software tester's guide to managing the software test effort." I agree with this, but I think that it can also be considered as a software tester's guide to understanding the software test effort. Some testers may not be involved in all areas of a test project that are described in this book, but all testers need to understand the full process.
This book will also be useful for experienced testers and/or managers who need to find one more place or one more way to improve their processes. The author emphasizes that readers should adapt these methods to their projects rather than trying to use them as a standard, and finding at least one concept that would apply should be easy for anyone. There was one small part of the content that was distracting to me. The "fact" and "note" inserts throughout the book sometimes interrupted the flow of the text around them. Some of these items could just as easily have been used for subjects for the next paragraph and should have been included in that manner. If the others needed to stand out for emphasis, then leaving them totally in the margin would have made them less distracting.
I would recommend this book a reference for any testing group, new or well-established, or anywhere in between.
User Comments
Although I would agree with almost all of the aforementioned comments, I was disappointed with the presentation of the information. The author is clearly experienced and has many things to say, but I was constantly left with the impression that she was "tooting her own horn". Many statements began with "I" ("When I worked at so and so, I determined blah, blah, blah"). Personally, I could have done without so many examples of how great the author is.