- Series: Business Data Processing: A Wiley Series (Book 28)
- Hardcover: 256 pages
- Publisher: Wiley; 2 edition (June 21, 2004)
- Language: English
- ISBN-10: 0471469122
- ISBN-13: 978-0471469124
- Product Dimensions: 6.2 x 1 x 9.3 inches
- Shipping Weight: 15.2 ounces
- Average Customer Review: 10 customer reviews
- Amazon Best Sellers Rank: #1,628,744 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The Art of Software Testing, Second Edition 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Customers who bought this item also bought
What other items do customers buy after viewing this item?
From the Inside Flap
When this book was first published in 1979, software testing was far from an exact science. Considered the "dark art" of software development, it was a little-understood process without a set of standard principles.Twenty-five years later, testing hasnt really changedbut The Art of Software Testing has.
In addition to all the major software testing topicssuch as higher-order testing, white- and black-box testing, debugging, code inspections, and walkthroughsthis fully updated Second Edition features up-to-date information on testing twenty-first-century software projects, including vital Internet-based e-commerce applications, as well as details on Extreme Testing, which supports the widely used Extreme Programming development methodology.
Just like the first edition, this revision fills the gaps in the professional literature and provides a practical, rather than theoretical, discussion of the purpose, nature, and principles of proper testing. While the book focuses on methodologies for the design of effective test cases, it also covers the psychological and economic issues that are essential to a full understanding of program testing.
Many programming students enter the workforce without the proper understanding of software testing. This book covers all the essential topics for those students, but also provides all the detail and precision that working programmers might need during the testing phase. Appropriate for programmers and students at any level, The Art of Software Testing, Second Edition presents all the latest new ideas and techniquesmany illustrated with helpful examples. Comprehensive and always practical, this essential guide includes code-inspection checklists, a self-assessment test, and other resources programmers need for effective testingand fewer bugs.
From the Back Cover
Practical, up-to-date tactics and techniques for successful, efficient testing:
- Basic testing principles and strategies
- Program inspections and walkthroughs
- Code inspections
- Error checklists
- Peer ratings
- Black- and white-box testing
- Error guessing
- Top-down vs. bottom-up testing
- Higher-order testing
- Function and system testing
- Acceptance testing
- Installation testing
- Module (unit) testing
- Test planning and control
- Independent testing agencies
- Debugging principles
- Error analysis
- Extreme Testing
- Testing Internet applications
- Higher-order testing of e-commerce architectures
Top customer reviews
This revised edition is simply a terrible value. At the full list price, you'd be paying something like fifty cents a page...and, let me tell you, a book had better revolutionize my life for that kind of money. I'm a dedicated capitalist sell-out software developer, but this kind of pricing arouses even _my_ hacker sensibilities. Also, the value of the revision is questionable: there may be a chapter on Extreme Programming, but it seems to me that the best material in this book is still the classic text that survives from the 1st ed. So, my recommendation is that you simply _buy_ the first edition, new or used, at a fraction of the price. Then, you get nearly all of the benefit, plus the cachet of having the "classic" on your shelf. You can put it right next to "The C Programming Language" and "The Mythical Man-Month." Then, your visitors will know you're a serious software developer...and, you know what? They'll probably be right.
I also like and recommend Kaner, Falk and Nguyen, "Testing Computer Software," for a more in-depth and up-to-date treatment of testing issues.
There are some drawbacks in the book:
1) List of chapters misses the categorizing of Equivalence Partitioning & Boundry value analysis & Cause-Effect grapphing into Black box testing
2) The whole bunch of categories for statement, decision, condition coverage test could be compressed into one category: path coverage testing
3) The missing of fuzz testing: although a purely random test is crazy, a well craft one really helps. Note that the program under test has error because of the human mistake, so we should also expect that the human work to design the non-random test case is also error prone. A random test helps to find this error in designing the test cases.
The first three chapters have kept their titles, but have been greatly expanded. For example, chapter 2 now includes black- and white-box testing overviews in addition to discussions on economics and testing principles. Chapter 3 now covers error types in addition to the original topics related to inspections and walkthroughs. Among the error types discussed are data reference and declaration, computation, comparison, control flow, and interface and I/O.
Test case design has been expanded, and the chapters on module and high-order testing, and debugging have been given major facelifts and much wider coverage of techniques. The most significant changes, though, are chapters 8 and 9, Extreme Testing and Internet Testing, which truly reflect the extent of this book's update for the second edition.
While the update is extensive, the part I personally liked the most is in Chapter 6, High-Order Testing. Consider these new test types, some of which were not even considered a part of testing back in 1979 when the first edition was published: facility, volume, stress, usability, security, performance, storage, configuration, compatibility/configuration/conversion, installability, reliability, recovery, serviceability, documentation, and procedure testing.
This book belongs in every serious test professional's library. I'm retiring my copy of the first edition, a book that I've used since the early 1980s, to a special place in my library reserved for classic books. This second edition will be one of my primary testing references for some time to come.
The premise is simple enough: How can you write effective test cases that adequately exercise your system requirements? Myers suggests that good software testing depends on the answer. Testing what the program is supposed to do is only part of the battle. However, in my experience, this is usually where we plant our flag. This can be difficult enough, depending on the quality of the criteria. Bad or vague requirements necessarily lead to insufficient and flawed testing.
As a result negative testing, boundary testing, testing for unexpected conditions, and so forth will often go by the wayside.
In addition, testing is often presented as a gateway to production, and can be cursory as a result. The creativity and time that adequate test cases demand are simply not within project scope. This is often exacerbated by intent to pass systems without finding errors.
Myers addresses these issues as he explores test planning and creation. Hence this book really belongs on the shelves, not only of software testers, but project management as well. The methodology of requirements-based testing is not new. However the profession is growing and more sectors are discovering the need for testing their systems. Art of Software Testing is still relevant and should be promulgated.