The first comprehensive book on software test and analysis You can't "test quality into" a software product, but neither can you build a quality software product without test and analysis. Software test and analysis is increasingly recognized, in research and in industrial practice, as a core challenge in software engineering and computer science. Software Testing and Analysis: Process, Principles, and Techniques is the first book to present a range of complementary software test and analysis techniques in an integrated, coherent fashion. It covers a full spectrum of topics from basic principles and underlying theory to organizational and process issues in real-world application. The emphasis throughout is on selecting a complementary set of practical techniques to achieve an acceptable level of quality at an acceptable cost.
Highlights of the book include Interplay among technical and non-technical issues in crafting an approach to software quality, with chapters devoted to planning and monitoring the software quality process. A selection of practical techniques ranging from inspection to automated program and design analyses to unit, integration, system, and regression testing, with technical material set in the context of real-world problems and constraints in software development. A coherent view of the state of the art and practice, with technical and organizational approaches to push the state of practice toward the state of the art.
Throughout, the text covers techniques that are suitable for near-term application, with sufficient technical background to help you know how and when to apply them. Exercises reinforce the instruction and ensure that you master each topic before proceeding.
By incorporating software testing and analysis techniques into modern practice, Software Testing and Analysis: Process, Principles, and Techniques provides both students and professionals with realistic strategies for reliable and cost-effective software development.
About the Author: Michal Young, PhD, is Associate Professor of Computer Science at University of Oregon. He earned a doctorate in information and computer science from University of California, Irvine. He has formerly served on the faculty of Purdue University, the Tecnopadova Master of Software Engineering Program in Padua, Italy, and the Oregon Master of Software Engineering. He has served as technical program chair of the 1998 ACM International Symposium on Software Testing and Analysis, program co-chair of the 2002 International Conference on Software Engineering, general chair of the ACM Sigsoft 2006 Symposium on Foundations of Software Engineering, and as associate editor of "IEEE Transactions on Software Engineering."
Mauro Pezze, PhD, is Professor of Computer Science at the University of Milano-Bicocca. He received his PhD degree in computer science from Politecnico di Milano (Italy). Dr. Pezze has served as technical program chair of the 2006 ACM International Symposium on Software Testing and Analysis. He has been technical lead for several multi-year international research and development projects in close collaboration with leading European information and communication companies including IBM, Phillips, Elsag, and Siemens, among others. He also has an active consulting practice.