"Software testing is a fast growing discipline in industry. Industry increases IT hiring each year, and recent years have seen a marked increase in emphasis on quality of software engineering in general, and testing in particular. Bill Gates recently said of Microsoft, "We have as many testers as we have developers. And developers spend half their time testing." This book is a manual on the techniques of testing. It presents a great overview of the current state of software testing techniques. It covers well-established techniques like equivalence classes, boundary value analysis, decision tables, state transition, domain analysis, control path and data flow testing. It also presents newer techniques, namely use case testing, pairwise testing and exploratory testing. Software testing is not only science but art as well. The author has presented testing as a mental discipline that helps all IT professionals develop higher quality software. The style is fresh and immediate