"Software Testing, 2nd edition" provides practical insight into the world of software testing and quality assurance. Learn how to find problems in any computer program, how to plan an effective test approach and how to tell when software is ready for release. Updated from the previous edition in 2000 to include a chapter that specifically deals with testing software for security bugs, the processes and techniques used throughout the book are timeless. This book is an excellent investment if you want to better understand what your Software Test team does or you want to write better software.
Review By: Jennifer Gau 07/08/2010I wish I had read Software Testing by Ron Patton before my first job as a software tester. Written with a clear, concise style that is easy to understand, Patton covers the essential basics of software testing, neatly summarized into six sections, in a relatively short book. Topics are covered in a broad, introductory manner. In general, this is a great overview for people new to software testing or for people beginning to apply their skills to software testing.
If you already have any experience working in the software industry, I would recommend this book as a reference because it enumerates many ideas that you may already be familiar with. Personally, having spent some time as a tester, I did not find anything new in this book, just a good review of the basics. Still, I would recommend this to any new members on our team.
Patton divides Software Testing into six sections. The first section is most useful for those who are just starting out as it covers some background and the realities of testing. The second section covers testing fundamentals--a must-read section for any novice tester, and a good review for anyone with exposure to testing.
The third section is best utilized as a reference as it covers everything from Web testing to security testing to compatibility testing. Even though it was new in the second edition, I think the chapter on software security should have had more emphasis and detail.
Automated testing is my favorite part of sections four and five because I remember how clicking through the same exact screens every single day became dull rather quickly. If you can automate some simple tests to be run on demand it will make your life much easier! Regarding documentation, every place I have worked has processes in place for planning a test effort, working with test documentation, and reporting findings; so I did not find these chapters useful.
As you read this book, you will notice helpful little notes scattered throughout the chapters, which would be nice to have on a card for quick reference. Keep them in mind when you see them.
After reading this book, my main takeaways are:
Find bugs early--test the specification.
It is impossible to test a program completely, but you can test it smartly.