Book description
This book presents sound engineering approaches for test generation, selection, minimization, assessment, and enhancement. Using numerous examples, it offers a lucid description of a wide range of simple to complex techniques for a variety of testing-related tasks.
Table of contents
- Preface (1/2)
- Preface (2/2)
- Acknowledgments
-
Preliminaries
-
Basics of Software Testing
- Humans, Errors, and Testing
- Software Quality
- Requirements, Behavior, and Correctness
- Correctness Versus Reliability
- Testing and Debugging (1/2)
- Testing and Debugging (2/2)
- Test Metrics (1/2)
- Test Metrics (2/2)
- Software and Hardware Testing
- Testing and Verification
- Defect Management
- Execution History
- Test-Generation Strategies
- Static Testing
- Model-Based Testing and Model Checking
- Control-Flow Graph (1/2)
- Control-Flow Graph (2/2)
- Dominators and Postdominators
- Program-Dependence Graph
- Strings, Languages, and Regular Expressions
- Types of Testing (1/3)
- Types of Testing (2/3)
- Types of Testing (3/3)
- The Saturation Effect
- Summary
- Bibliographic Notes
- Exercises
-
Basics of Software Testing
-
Test Generation
-
Test Generation from Requirements
- Introduction
- The Test-Selection Problem
- Equivalence Partitioning (1/5)
- Equivalence Partitioning (2/5)
- Equivalence Partitioning (3/5)
- Equivalence Partitioning (4/5)
- Equivalence Partitioning (5/5)
- Boundary-Value Analysis (1/2)
- Boundary-Value Analysis (2/2)
- Category-Partition Method (1/2)
- Category-Partition Method (2/2)
- Cause-Effect Graphing (1/4)
- Cause-Effect Graphing (2/4)
- Cause-Effect Graphing (3/4)
- Cause-Effect Graphing (4/4)
- Test Generation from Predicates (1/7)
- Test Generation from Predicates (2/7)
- Test Generation from Predicates (3/7)
- Test Generation from Predicates (4/7)
- Test Generation from Predicates (5/7)
- Test Generation from Predicates (6/7)
- Test Generation from Predicates (7/7)
- Summary
- Bibliographic Notes
- Exercises (1/2)
- Exercises (2/2)
-
Test Generation from Finite-State Models
- Software Design and Testing
- Finite-State Machines (1/2)
- Finite-State Machines (2/2)
- Conformance Testing
- A Fault Model (1/2)
- A Fault Model (2/2)
- Characterization Set (1/2)
- Characterization Set (2/2)
- The W-Method (1/2)
- The W-Method (2/2)
- The Partial W-Method (1/2)
- The Partial W-Method (2/2)
- The UIO-Sequence Method (1/6)
- The UIO-Sequence Method (2/6)
- The UIO-Sequence Method (3/6)
- The UIO-Sequence Method (4/6)
- The UIO-Sequence Method (5/6)
- The UIO-Sequence Method (6/6)
- Automata Theoretic Versus Control-Flow-Based Techniques (1/2)
- Automata Theoretic Versus Control-Flow-Based Techniques (2/2)
- Summary
- Bibliographic Notes
- Exercises (1/2)
- Exercises (2/2)
-
Test Generation from Combinatorial Designs
- Combinatorial Designs (1/2)
- Combinatorial Designs (2/2)
- A Combinatorial Test-Design Process
- Fault Model
- Latin Squares
- Mutually Orthogonal Latin Squares
- Pairwise Design: Binary Factors
- Pairwise Design: Multivalued Factors (1/2)
- Pairwise Design: Multivalued Factors (2/2)
- Orthogonal Arrays
- Covering and Mixed-Level Covering Arrays
- Arrays of Strength >2
- Generating Covering Arrays (1/2)
- Generating Covering Arrays (2/2)
- Summary
- Bibliographic Notes
- Exercises
-
Test Selection, Minimization, and Prioritization for Regression Testing
- What is Regression Testing?
- Regression-Test Process (1/2)
- Regression-Test Process (2/2)
- RTS: The Problem
- Selecting Regression Tests
- Test Selection Using Execution Trace (1/3)
- Test Selection Using Execution Trace (2/3)
- Test Selection Using Execution Trace (3/3)
- Test Selection Using Dynamic Slicing (1/3)
- Test Selection Using Dynamic Slicing (2/3)
- Test Selection Using Dynamic Slicing (3/3)
- Scalability of Test-Selection Algorithms
- Test Minimization
- Test Prioritization
- Tools for Regression Testing
- Summary
- Bibliographic Notes (1/2)
- Bibliographic Notes (2/2)
- Exercises (1/2)
- Exercises (2/2)
-
Test Generation from Requirements
-
Test Adequacy Assessment and Enhancement
-
Test-Adequacy: Assessment Using Control Flow and Data Flow
- Test Adequacy: Basics (1/3)
- Test Adequacy: Basics (2/3)
- Test Adequacy: Basics (3/3)
- Adequacy Criteria Based on Control Flow (1/8)
- Adequacy Criteria Based on Control Flow (2/8)
- Adequacy Criteria Based on Control Flow (3/8)
- Adequacy Criteria Based on Control Flow (4/8)
- Adequacy Criteria Based on Control Flow (5/8)
- Adequacy Criteria Based on Control Flow (6/8)
- Adequacy Criteria Based on Control Flow (7/8)
- Adequacy Criteria Based on Control Flow (8/8)
- Data-Flow Concepts (1/3)
- Data-Flow Concepts (2/3)
- Data-Flow Concepts (3/3)
- Adequacy Criteria Based on Data Flow (1/3)
- Adequacy Criteria Based on Data Flow (2/3)
- Adequacy Criteria Based on Data Flow (3/3)
- Control Flow Versus Data Flow
- The Subsumes Relation
- Structural and Functional Testing
- Scalability of Coverage Measurement
- Summary
- Bibliographic Notes (1/2)
- Bibliographic Notes (2/2)
- Exercises (1/2)
- Exercises (2/2)
-
Test-Adequacy Assessment Using Program Mutation
- Introduction
- Mutation and Mutants (1/2)
- Mutation and Mutants (2/2)
- Test Assessment Using Mutation (1/3)
- Test Assessment Using Mutation (2/3)
- Test Assessment Using Mutation (3/3)
- Mutation Operators
- Design of Mutation Operators
- Founding Principles of Mutation Testing
- Equivalent Mutants
- Fault Detection Using Mutation
- Types of Mutants
- Mutation Operators for C (1/8)
- Mutation Operators for C (2/8)
- Mutation Operators for C (3/8)
- Mutation Operators for C (4/8)
- Mutation Operators for C (5/8)
- Mutation Operators for C (6/8)
- Mutation Operators for C (7/8)
- Mutation Operators for C (8/8)
- Mutation Operators for Java (1/2)
- Mutation Operators for Java (2/2)
- Mutation Operators for Fortran 77, C, and Java: A Comparison
- Tools For Mutation Testing
- Mutation Testing Within Budget
- Summary
- Bibliographic Notes (1/3)
- Bibliographic Notes (2/3)
- Bibliographic Notes (3/3)
- Exercises (1/2)
- Exercises (2/2)
- References (1/8)
- References (2/8)
- References (3/8)
- References (4/8)
- References (5/8)
- References (6/8)
- References (7/8)
- References (8/8)
-
Test-Adequacy: Assessment Using Control Flow and Data Flow
- Subject Index (1/7)
- Subject Index (2/7)
- Subject Index (3/7)
- Subject Index (4/7)
- Subject Index (5/7)
- Subject Index (6/7)
- Subject Index (7/7)
- Name Index
Product information
- Title: Foundations of Software Testing: Fundamental Algorithms and Techniques
- Author(s):
- Release date: March 2007
- Publisher(s): Pearson India
- ISBN: 9788131707951
You might also like
book
Foundations of Software Testing, 2nd Edition
This edition of Foundations of Software Testing is aimed at the undergraduate, the graduate students and …
book
Software Testing Foundations, 4th Edition, 4th Edition
Software Testing Foundations, 4th Edition provides the information necessary to pass the Certified Tester-Foundations Level exam, …
book
Software Testing: Principles and Practices
Software Testing: Principles and Practices is a comprehensive treatise on software testing. It provides a pragmatic …
audiobook
Effective Software Testing
Written for the working developer, it offers state-of-the-art software testing techniques. Perfect for training the next …