Table Of Contents of the book "Software Testing: A Craftsman's Approach", Third Edition by Paul Jorgensen, 2008
Software Testing—A Craftsman’s Approach, Third Edition extends the combination of theory and practicality of the first two editions to include agile programming development and discusses the serious effect this emerging area is having on software testing.Review:
This book is extremely technical and deals strictly with software testing techniques. All techniques are divided in four types (functional, structural, integration and system, and object-oriented testing) and presented with serious and a little formal approach. It is requires some effort to get through this book. First you will need to read mathematics basics that presented in the beginning of the book and used in the description of the different testing techniques. In the same time many colleges use this book as a text book in their classes and it can be useful for the ISTQB Advanced Level certification. If you need to define a software testing process this book is not for you.
PART I: A MATHEMATICAL CONTEXT A Perspective on Testing Basic Definitions Test Cases Insights from a Venn Diagram Identifying Test Cases Error and Fault Taxonomies Levels of Testing Examples Generalized Pseudocode The Triangle Problem The NextDate Function The Commission Problem The SATM System The Currency Converter Saturn Windshield Wiper Controller Discrete Math for Testers Set Theory Functions Relations Propositional Logic Probability Theory Graph Theory for Testers Graphs Directed Graphs Graphs for Testing PART II: FUNCTIONAL TESTING Boundary Value Testing Boundary Value Analysis Robustness Testing Worst-Case Testing Special Value Testing Examples Random Testing Guidelines for Boundary Value Testing Equivalence Class Testing Equivalence Classes Equivalence Class Test Cases for the Triangle Problem Equivalence Class Test Cases for the NextDate Function Equivalence Class Test Cases for the Commission Problem Guidelines and Observations Decision Table-Based Testing Decision Tables Test Cases for the Triangle Problem Test Cases for the NextDate Function Test Cases for the Commission Problem Guidelines and Observations Retrospective on Functional Testing Testing Effort Testing Efficiency Testing Effectiveness Guidelines Case Study PART III: STRUCTURAL TESTING Path Testing DD-Paths Test Coverage Metrics Basis Path Testing Guidelines and Observations Dataflow Testing Define/Use Testing Slice-Based Testing Guidelines and Observations Retrospective on Structural Testing Gaps and Redundancies Metrics for Method Evaluation Case Study Revisited PART IV: INTEGRATION AND SYSTEM TESTING Levels of Testing Traditional View of Testing Levels Alternative Life Cycle Models The SATM System Separating Integration and System Testing Integration Testing A Closer Look at the SATM System Decomposition-Based Integration Call Graph-Based Integration Path-Based Integration Case Study System Testing Threads Basis Concepts for Requirements Specification Finding Threads Structural Strategies for Thread Testing Functional Strategies for Thread Testing SATM Test Threads System Testing Guidelines ASF Testing Example Interaction Testing Context of Interaction A Taxonomy of Interactions Interaction, Composition, and Determinism Client/Server Testing PART V: OBJECT-ORIENTED TESTING Issues in Object-Oriented Testing Units for Object-Oriented Testing Implications of Composition and Encapsulation Implications of Inheritance Implications of Polymorphism Levels of Object-Oriented Testing GUI Testing Dataflow Testing for Object-Oriented Software Examples for Part V Class Testing Methods as Units Classes as Units Object-Oriented Integration Testing UML Support for Integration Testing MM-Paths for Object-Oriented Software A Framework for Object-Oriented Dataflow Integration Testing GUI Testing The Currency Conversion Program Unit Testing for the Currency Conversion Program Integration Testing for the Currency Conversion Program System Testing for the Currency Conversion Program Object-Oriented System Testing Currency Converter UML Description UML-Based System Testing StateChart-Based System Testing PART VI: MILLENNIUM TESTING Exploratory Testing The Context-Driven School Exploring Exploratory Testing Exploring a Familiar Example Exploratory and Context-Driven Testing Observations Model-Based Testing Testing Based on Models Appropriate Models Use Case-Based Testing Commercial Tool Support for Model-Based Testing Test-Driven Development Test-Then-Code Cycles Automated Test Execution (Testing Frameworks) Java and JUnit Example Remaining Questions Pros, Cons, and Open Questions of TDD Retrospective on MDD versus TDD A Closer Look at All Pairs Testing The All Pairs Technique A Closer Look at the NIST Study Appropriate Applications for All Pairs Testing Recommendations for All Pairs Testing Epilogue: Software Testing Excellence Craftsmanship Best Practices of Software Testing Top Best Practices for Software Testing Excellence Mapping Best Practices to Diverse Projects
On this page I put Table of Contents Software Testing: A Craftsman's Approach, Third Edition by Paul Jorgensen, 2008