Part I-A Mathematical Context Chapter 1-A Perspective on Testing 1.1 Basic Definitions 1.2 Test Cases 1.3 Insights from a Venn Diagram 1.4 Identifying Test Cases 1.4.1 Functional Testing 1.4.2 Structural Testing 1.4.3 The Functional Versus Structural Debate 1.5 Error and Fault Taxonomies 1.6. Levels of Testing Chapter 2-Examples 2.1 The Triangle Problem 2.1.1 Problem Statement 2.1.2 Discussion 2.1.3 Traditional Implementation 2.1.4 Structured Implementation 2.2 The NextDate Function 2.2.1 Problem Statement 2.2.2 Discussion 2.2.3 Implementation 2.3 The Commission Problem 2.3.1 Problem Statement 2.3.2 Discussion 2.3.3 Implementation 2.4 The SATM System 2.4.1 Problem Statement 2.4.2 Discussion 2.5 Saturn Windshield Wiper Controller Chapter 3-Discrete Math for Testers 3.1 Set Theory 3.1.1 Set Membership 3.1.2 Set Definition 3.1.3 The Empty Set 3.1.4 Venn Diagrams 3.1.5 Set Operations 3.1.6 Set Relations 3.1.7 Set Partitions 3.1.8 Set Identities 3.2 Functions 3.2.1 Domain and Range 3.2.2 Function Types 3.2.3 Function Composition 3.3 Relations 3.3.1 Relations Among Sets 3.3.2 Relations on a Single Set 3.4 Propositional Logic 3.4.1 Logical Operators 3.4.2 Logical Expressions 3.4.3 Logical Equivalence 3.5 Probability Theory Chapter 4-Graph Theory for Testers 4.1 Graphs 4.1.1 Degree of a Node 4.1.2 Incidence Matrices 4.1.3 Adjacency Matrices 4.1.4 Paths 4.1.5 Connectedness 4.1.6 Condensation Graphs 4.1.7 Cyclomatic Number 4.2 Directed Graphs 4.2.1 Indegrees and Outdegrees 4.2.2 Types of Nodes 4.2.3 Adjacency Matrix of a Directed Graph 4.2.4 Paths and Semi-Paths 4.2.5 Reachability Matrix 4.2.6 N-Connectedness 4.2.7 Strong Components 4.3 Graphs for Testing 4.3.1 Program Graphs 4.3.2 Finite State Machines 4.3.3 Petri Nets Part II-Functional Testing Chapter 5-Boundary Value Testing 5.1 Boundary Value Analysis 5.1.1 Generalizing Boundary Value Analysis 5.1.2 Limitations of Boundary Value Analysis 5.2 Robustness Testing 5.3 Worst Case Testing 5.4 Special Value Testing 5.5 Examples 5.5.1 Test Cases for the Triangle Problem 5.5.2 Test Cases for the NextDate Problem 5.5.3 Test Cases for the Commission Problem 5.6 Guidelines for Boundary value Testing Chapter 6-Equivalence Class Testing 6.1 Equivalence Classes 6.1.1 Weak Equivalence Class Testing 6.1.2 Strong Equivalence Class Testing 6.1.3 Traditional Equivalence Class Testing 6.2 Equivalence Class Test Cases for the Triangle Problem 6.3 Equivalence Class Test Cases for the NextDate Function 6.4 Equivalence Class Test Cases for the Commission Problem 6.5 Guidelines and Observations Chapter 7-Decision Table Based Testing 7.1 Decision Tables 7.1.2 Technique 7.2 Test Cases for the Triangle Problem 7.3 Test Cases for the NextDate Function 7.4 Test Cases for the Commission Problem 7.5 Guidelines and Observations Chapter 8-Retrospective on Functional Testing 8.1 Selected Test Cases 8.1.1 Triangle Program Test Cases 8.1.2 NextDate Problem Test Cases 8.1.3 Commission Problem Test Cases 8.2 Testing Effort 8.3 Testing Efficiency 8.4 Testing Effectiveness 8.5 Guidelines Part III-Structural Testing Chapter 9-Path Testing 9.1 DD-Paths 9.2 Test Coverage Metrics 9.2.1 Metric Based Testing 9.2.2. Test Coverage Analyzers 9.3 Basis Path Testing 9.3.1 McCabe’s Basis Path Method 9.3.2 Observations on McCabe’s Basis Path Method 9.3.3 Essential Complexity 9.4 Guidelines and Observations Chapter 10-Data Flow Testing 10.1 Define/Use Testing 10.1.1 Example 10.1.2 Du-path Test Coverage Metrics 10.2 Slice-Based Testing 10.2.1 Example 10.2.2 Style and Technique 10.3 Guidelines and Observations Chapter 11-Retrospective on Structural Testing 11.1 Gaps and Redundancies 11.2 Metrics for Method Comparison 11.2.1 Comparing Functional Testing Methods 11.2.2 Comparing Structural Testing Metrics 11.3 Functional-Structural Hybrid Testing 11.4 Closure Part IV-Integration and System Testing Chapter 12-Levels of Testing 12.1 Traditional View of Testing Levels 12.2 Alternative Life Cycle Models 12.2.1 Waterfall Spin-offs 12.2.2 Specification Based Models 12.2.3 An Object-Oriented Life Cycle Model 12.3 Formulations of the SATM System 12.3.1 SATM with Structured Analysis 12.3.3 Object-Oriented Formulation of SATM 12.4 Separating Integration and System Testing 12.4.1 Structural Insights 12.4.2 Behavioral Insights Chapter 13-Integration Testing 13.1 A Closer Look at the SATM System 13.2 Decomposition Based Integration 13.2.1 Top-Down Integration 13.2.2 Bottom-up Integration 13.2.3 Sandwich Integration 13.2.4 Pros and Cons 13.3 Call Graph Based Integration 13.3.1 Pair-wise Integration 13.3.2 Neighborhood Integration 13.3.3 Pros and Cons 13.4 Path Based Integration 13.4.1 New and Extended Concepts 13.4.2 MM-Paths and ASFS in the SATM System 13.4.3 Pros and Cons Chapter 14-System Testing 14.1 Threads 14.1.1 Thread Possibilities 14.1.2 Thread Definitions 14.2 Basis Concepts for Requirements Specification 14.2.1 Data 14.2.2 Actions 14.2.3 Ports 14.2.4 Events 14.2.5 Threads 14.2.6 Relationships Among Basis Concepts 14.2.7 Modeling with the Basis Concepts 14.3 Finding Threads 14.4 Structural Strategies for Thread Testing 14.4.1 Bottom-up Threads 14.4.2 Node and Edge Coverage Metrics 14.5 Functional Strategies for Thread Testing 14.5.1 Event-Based Thread Testing 14.5.2 Port-Based Thread Testing 14.5.3 Data-Based Thread Testing 14.6 SATM Test Threads 14.7 System Testing Guidelines 14.7.1 Pseudo-Structural System Testing 14.7.2 Operational Profiles 14.7.3 Progression vs. Regression Testing Chapter 15-Object-Oriented Testing 15.1 Object Orientation 15.2 Issues Raised by Object Orientation 15.2.1 Levels of Testing 15.2.2 Object Composition 15.2.3 Esoteric Object Features 15.3 Framework for Object-Oriented Testing 15.4 Object-Oriented Testing of the SATM System 15.5 Guidelines for Object-oriented Testing Chapter 16-Interaction Testing 16.1 Context of Interaction 16.2 A Petri Net Model for Interactions 16.3 A Taxonomy of Interactions 16.3.1 Static Interactions in a Single Processor 16.3.2 Static Interactions in Multiple Processors 16.3.3 Dynamic Interactions in a Single Processor 16.3.4 Dynamic Interactions in Multiple Processors 16.4 Interaction, Composition, and Determinism 16.5 Client-Server Testing References
댓글 영역