'How to break software' takes a very applied and non-rigid approach to teaching how to test software for common bugs. It 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. Instead of relying on a rigid plan, it should be intelligence, insight, experience and a ''nose for where the bugs are hiding'' that 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.