How to Break Software: A Practical Guide to Testing

Paperback
from $0.00

Author: James A. Whittaker

ISBN-10: 0201796198

ISBN-13: 9780201796193

Category: Quality Control & Testing - Programming

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...

Search in google:

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.

DedicationPrefaceAcknowledgmentsChapter SummariesPt. 1Introduction1Ch. 1A Fault Model to Guide Software Testing3Pt. 2User Interface Attacks17Ch. 2Testing from the User Interface: Inputs and Outputs19Ch. 3Testing from the User Interface: Data and Computation57Pt. 3System Interface Attacks81Ch. 4Testing from the File System Interface83Ch. 5Testing from the Software/OS Interface105Pt. 4Conclusion121Ch. 6Some Parting Advice123Appendixes127Annotated Glossary of Programming Terms129App. ATesting Exception and Error Cases Using Runtime Fault Injection135App. BUsing HEAT: The Hostile Environment Application Tester153App. CWhat is Software Testing? And Why is it So Hard?159The Software Testing Problem170Index175