Automotive Holiday Deals Books Gift Guide Books Gift Guide Shop Men's Athletic Shoes Learn more nav_sap_SWP_6M_fly_beacon Prime Music Sweepstakes egg_2015 All-New Amazon Fire TV Luxury Beauty Gifts Under $50 Amazon Gift Card Offer cm15 cm15 cm15 $30 Off Amazon Echo $15 Off All-New Fire Kindle Voyage Cyber Monday Sweepstakes in Prime Music Shop Now HTL

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.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

How to Break Software: A Practical Guide to Testing W/CD 1st Edition

27 customer reviews
ISBN-13: 978-0201796193
ISBN-10: 9780201796193
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$4.23 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$31.09 On clicking this link, a new layer will be open
More Buying Choices
22 New from $18.00 23 Used from $0.23
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Get Up to 80% Back Rent Textbooks
$31.09 FREE Shipping on orders over $35. Only 2 left in stock (more on the way). Ships from and sold by Gift-wrap available.

Frequently Bought Together

  • How to Break Software: A Practical Guide to Testing W/CD
  • +
  • Lessons Learned in Software Testing: A Context-Driven Approach
  • +
  • Testing Computer Software, 2nd Edition
Total price: $116.33
Buy the selected items together

Special Offers and Product Promotions

  • Take an Extra 30% Off Any Book: Use promo code HOLIDAY30 at checkout to get an extra 30% off any book for a limited time. Excludes Kindle eBooks and Audible Audiobooks. Restrictions apply. Learn more | Shop now

Editorial Reviews

From the Back Cover

Practical tutorial on how to actually do testing by presenting numerous "attacks" you can perform to test your software for bugs.

* Practical approach has little or no theory, but shows real ways effectively test software—accessible to beginners and seasoned testers.
* The author is well known and respected as an industry consultant and speaker.
* Uses market leading, and immediately identifiable, software applications as examples to show bugs and techniques.
How to Break Software is a departure from conventional testing in which testers prepare a written test plan and then use it as a script when testing the software. The testing techniques in this book are as flexible as conventional testing is rigid. And flexibility is needed in software projects in which requirements can change, bugs can become features and schedule pressures often force plans to be reassessed. Software testing is not such an exact science that one can determine what to test in advance and then execute the plan and be done with it. Instead of a plan, intelligence, insight, experience and a "nose for where the bugs are hiding" should guide testers. This book helps testers develop this insight. The techniques presented in this book not only allow testers to go off-script, they encourage them to do so. Don't blindly follow a document that may be out of date and that was written before the product was even testable. Instead, use your head! Open your eyes! Think a little, test a little and then think a little more. This book does teach planning, but in an "on- the-fly while you are testing" way. It also encourages automation with many repetitive and complex tasks that require good tools (one such tool is shipped with this book on the companion CD). However, tools are never used as a replacement for intelligence. Testers do the thinking and use tools to collect data and help them explore applications more efficiently and effectively.

James A. Whittaker is a well-known speaker and consultant, as well as seasoned professor.

About the Author

James A. Whittaker is a well-known speaker and consultant, as well as seasoned professor.


Hero Quick Promo
Holiday Deals in Kindle Books
Save up to 85% on more than 1,000 Kindle Books. These deals are valid until November 30, 2015. Learn more

Product Details

  • Paperback: 208 pages
  • Publisher: Pearson; 1 edition (May 19, 2002)
  • Language: English
  • ISBN-10: 9780201796193
  • ISBN-13: 978-0201796193
  • ASIN: 0201796198
  • Product Dimensions: 6.8 x 0.7 x 9 inches
  • Shipping Weight: 12.8 ounces (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (27 customer reviews)
  • Amazon Best Sellers Rank: #338,278 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews

91 of 95 people found the following review helpful By James Bach on June 22, 2002
Format: Paperback
This book is part of the new wave of testing books that challenge not only the conventional wisdom about test process, but also challenge conventional wisdom about how to teach and write about testing. People who prefer testing textbooks that preach paperwork and process will be shocked, shocked, to discover that there are a lot of us who think it's a tester's job to find important bugs fast. We want books that give us strategies for actually finding problems. Paperwork and process help some, but not enough. We need something more. We need test-designer-sits-down-at-the-keyboard know-how.
As a test designer, myself (and a competitor of Whittaker's) I can certainly find things to nitpick about this book. But I won't do that here, because the big picture is far more important. That picture is simply this: if you are confused about what to do to uncover problems in software before it ships, EVEN IF you have no specifications to test from and EVEN IF no one listens when you rant about "quality assurance processes" they should follow, then there are only a few testing books yet published that will help you. This is one of them.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
62 of 66 people found the following review helpful By Mike Tarrani HALL OF FAMETOP 50 REVIEWER on May 20, 2002
Format: Paperback
Don't let the title or description fool you into thinking this is a book about ad hoc playing with applications with a goal to break them. In reality the book gives a structured approach to finding vulnerabilities in software. These vulnerabilities are weak points commonly found in software, and should be included in any test suite.
The vulnerabilities are classified by a fault model, then the book systematically walks you through the procedures used to attack and break the software. Each vulnerability type is addressed:
User Interface
- inputs and outputs, with 6 attacks for breaking common input flaws and 4 for output flaws.
- data and computation, with 3 attacks against stored data and 3 against computation and feature interaction.
System Interface
- 3 media-based and 3 file-based attacks against the file system.
- how to test the application/operating system interface.
The book also comes with a Windows application that helps you to create the hostile environment with which to 'attack' the software being tested. Therein lies the sophistication of the book, which employs fault injection as a technique. This technique is not commonly used in any but the most advanced testing environments, which raises this book's credibility from ad hoc to a serious approach to software engineering. More importantly, it provides test professionals, especially those who are testing Windows applications, a catalog of common vulnerabilities to address. More importantly, it teaches test professionals to approach parts of the testing process from an exploitation point of view - after all, their job is to break the software.
My initial misgivings about this book vanished as soon as I started reading it, and were replaced by enthusiasm by the time I was finished. This book addresses a niche topic, but deserves a place in every software testing library.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
43 of 48 people found the following review helpful By Charles Ashbacher HALL OF FAMETOP 500 REVIEWERVINE VOICE on November 9, 2002
Format: Paperback
If there is an area of software development that needs to be codified and formalized, it is the procedures for testing the software before release. With the exception of software that does only a few tasks, it is not possible to test all possible paths. The number of possible paths expands very quickly so that it is effectively infinite, which means that it is so large that it might as well be infinite. Furthermore, this problem will only get worse as software continues to increase in complexity. Finally, the testing phase of software is relegated to the last step and is often considered to be a menial task by developers. Given these conditions and the general pressure of meeting a release date, it follows that testing is often cut short.
With all of this as a background, it would appear that testing is a hopeless task. That is not the case if the testing is done in a systematic manner, which is what this book will teach you. Whittaker is a computer science professor whose area of expertise is that of testing software. He breaks the process into two broad categories: user interface attacks and system interface attacks. Each of these areas is then split into separate attacks, seventeen for user interface attacks and six for system interface attacks.
The attacks for user interface are:
* Apply inputs that force all the error messages to occur.
* Apply inputs that force the software to establish default values.
* Explore allowable character sets and data types.
* Overflow input buffers.
* Find inputs that may interact and test combinations of their values.
* Repeat the same input or series of inputs numerous times.
* Force different outputs to be generated for each input.
* Force invalid outputs to be generated.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
9 of 9 people found the following review helpful By JD on March 18, 2009
Format: Paperback
I acquired this book as part of a training exercise from my current company. I figured since I used Amazon reviews largely to decide which books to purchase for that it would be good to leave some in return.

When I graduated college, I told myself I'd never again pick up a school book without good cause because they are largely terrible reads and can be very difficult outside of a school setting both because there's no professor and no drive. When I found out that "How to Break Software" was written by a college professor for his students I was skeptical. However, I found it to be a very good read. Professor Whittaker writes in a very easy to read style with the references to self and social aspects that I enjoy as well as incorporate in my own writing (despite what I was taught in college;)). His examples are simple and easy to understand I imagine for novice or veteran testers.

Unfortunately, this is where my use of the book and enjoyment of the book ended. I've been working in the QA/QC industry for about 7 years now. After the introduction, I found most of the chapters to be more of a synopsis of good practices than teaching me anything. This is fine for school kids who know little to nothing about testing or for people just getting into QA; however I did not find it particularly useful as a veteran which is contrary to the disclaimers in the introduction as well as the snips about the book on the covering. This feeling lasted until about the time they introduced the Canned HEAT and Holodeck applications which I found interesting and was excited to use. That is until I saw the examples they gave and I realized that if I used them in my current workplace I would be testing the web browsers and operating system more than I would be testing the application itself.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
How to Break Software: A Practical Guide to Testing W/CD
This item: How to Break Software: A Practical Guide to Testing W/CD
Price: $31.09
Ships from and sold by