Explores and identifies the main issues, concepts, principles and evolution of software testing, including software quality engineering and testing concepts, test data generation, test deployment analysis, and software test management
This book examines the principles, concepts, and processes that are fundamental to the software testing function. This book is divided into five broad parts. Part I introduces software testing in the broader context of software engineering and explores the qualities that testing aims to achieve or ascertain, as well as the lifecycle of software testing. Part II covers mathematical foundations of software testing, which include software specification, program correctness and verification, concepts of software dependability, and a software testing taxonomy. Part III discusses test data generation, specifically, functional criteria and structural criteria. Test oracle design, test driver design, and test outcome analysis is covered in Part IV. Finally, Part V surveys managerial aspects of software testing, including software metrics, software testing tools, and software product line testing.
Presents software testing, not as an isolated technique, but as part of an integrated discipline of software verification and validation
Proposes program testing and program correctness verification within the same mathematical model, making it possible to deploy the two techniques in concert, by virtue of the law of diminishing returns
Defines the concept of a software fault, and the related concept of relative correctness, and shows how relative correctness can be used to characterize monotonic fault removal
Presents the activity of software testing as a goal oriented activity, and explores how the conduct of the test depends on the selected goal
Covers all phases of the software testing lifecycle, including test data generation, test oracle design, test driver design, and test outcome analysis
Software Testing: Concepts and Operations is a great resource for software quality and software engineering students because it presents them with fundamentals that help them to prepare for their ever evolving discipline.
Table of Contents
PART I INTRODUCTION TO SOFTWARE TESTING
Chapter 1 Software Engineering: A Discipline Like No Other
Chapter 2 Software Quality Attributes
Chapter 3 A Software Testing Lifecycle
PART II FOUNDATIONS OF SOFTWARE TESTING
Chapter 4 Software Specifications
Chapter 5 Program Correctness and Verification
Chapter 6 Failures, Errors, and Faults
Chapter 7 A Software Testing Taxonomy
PART III TEST DATA GENERATION
Chapter 8 Test Generation Concepts
Chapter 9 Functional Criteria
Chapter 10 Structural Criteria
PART IV TEST DEPLOYMENT AND ANALYSIS
Chapter 11 Test Oracle Design
Chapter 12 Test Driver Design
Chapter 13 Test Outcome Analysis
PART V MANAGEMENT OF SOFTWARE TESTING
Chapter 14 Metrics for Software Testing
Chapter 15 Software Testing Tools
Chapter 16 Testing Product Lines