Software Testing and Analysis: Process, Principles and Techniques

  • 9h 48m
  • Mauro Pezzè, Michal Young
  • John Wiley & Sons (US)
  • 2008

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 Authors

Mauro Pezzé, PhD, is Professor of Software Engineering at the University of Milano Bicocca and visiting Professor of Software Engineering at the University of Lugano. He received his PhD degree in computer science from Politecnico di Milano (Italy). Dr. Pezzé is serving as associate editor of ACM Transactions on Software Engineering, and 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. He also has an active consulting practice.

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

In this Book

  • Software Test and Analysis in a Nutshell
  • A Framework for Test and Analysis
  • Basic Principles
  • Test and Analysis Activities Within a Software Process
  • Finite Models
  • Dependence and Data Flow Models
  • Symbolic Execution and Proof of Properties
  • Finite State Verification
  • Test Case Selection and Adequacy
  • Functional Testing
  • Combinatorial Testing
  • Structural Testing
  • Data Flow Testing
  • Model-Based Testing
  • Testing Object-Oriented Software
  • Fault-Based Testing
  • Test Execution
  • Inspection
  • Program Analysis
  • Planning and Monitoring the Process
  • Integration and Component-based Software Testing
  • System, Acceptance, and Regression Testing
  • Automating Analysis and Test
  • Documenting Analysis and Test
  • Bibliography
SHOW MORE
FREE ACCESS

YOU MIGHT ALSO LIKE

Rating 5.0 of 1 users Rating 5.0 of 1 users (1)
Rating 5.0 of 1 users Rating 5.0 of 1 users (1)
Rating 4.7 of 26 users Rating 4.7 of 26 users (26)