Now that quality assurance and testing are being placed on an equal par with development efforts, there are many more books being written on the subject. "Software Quality Engineering" covers most quality assurance basics well, but this book goes much further to provide quality techniques and give mathematical expression to complex computing test strategies.
"Software Quality Engineering" defines how to gain the most advantage from the material in the book, includes a discussion defining QA, how QA activities fit into the various software development lifecycle processes.
Author Jeff Tian discusses software testing, most of which revolves around different approaches to testing such as boundary testing, state-based testing, and interactive testing. There are some very specific testing techniques within the chapter, which the author explains when and how to employ them. Tian also covers important parallel QA techniques beyond testing that go hand in hand to produce quality products.
It is not until the latter part of the book that he talks about how the verification process (defect prevention) supports the validation (defect detection) steps. The proper uses of appropriate techniques can be applied to block, prevent, and identify defects during the QA preventive steps or during the testing process itself.
"Software Quality Engineering" provides expressive mathematical tools for quality test processes to professionals who must report their findings metrically. Those of rational persuasion will delight in the many analytical techniques and equations liberally used to express mathematical relationships and ideas. There are many statistical approaches to less common types of testing, such as statistical and usage-based Web testing, with almost all of the techniques explained mathematically.
In summary, the author explains how different QA alternatives can be used to metrically support, prove, and enhance process outcomes and product quality. He suggests reviewing textbooks on mathematics and statistics for an understanding of algebra and set theory, Boolean logic and graph theory, along with an understanding of finite state. Thus this book was not meant for the novice.
The theoretical discussions of quality models and defect classification are interesting. One chapter provides detailed information on control flow, data flow, and data dependency testing, while another chapter deals with testing techniques for adaptation, specialization, and integration--an especially good treatment of testing techniques and considerations for large-scale testing efforts.
If you are statistically oriented and mathematically inclined, and you need to control or express the results of your quality process metrically, this book can help you manage your process, categorize your defects, and measure results. Many of the analysis activities, if used correctly, will provide feedback and useful information that can be used to help manage software quality engineering testing efforts.