Software testing : a craftsman's approach / Paul C. Jorgensen.
By: Jorgensen, Paul [author.]
.
Contributor(s): DeVries, Byron
.
Material type: 





Academic
Includes bibliographical references.
Section I: A MATHEMATICAL CONTEXT; A Perspective on Testing; Basic Definitions; Test Cases; Insights from a Venn Diagram; Identifying Test Cases; 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; Garage Door Opener; ; Discrete Math for Testers; Set Theory; Functions; Relations; Propositional Logic; Probability Theory; ; Graph Theory for Testers; Graphs; Directed Graphs; Graphs for Testing; Section II: UNIT TESTING; Boundary Value Testing; Normal Boundary Value Testing; Robust Boundary Value Testing; Worst-Case Boundary Value Testing; Special Value Testing; Examples; Random Testing; Guidelines for Boundary Value Testing; ; Equivalence Class Testing; Equivalence
Classes; Traditional Equivalence Class Testing; Improved Equivalence Class Testing; Equivalence Class Test Cases for the Triangle Problem; Equivalence Class Test Cases for the NextDate Function; Equivalence Class Test Cases for the Commission Problem; Edge Testing; Guidelines and Observations; ; Decision Table–Based Testing; Decision Tables; Decision Table Techniques; Test Cases for the Triangle Problem; Test Cases for the NextDate Function; Test Cases for the Commission Problem; Cause-and-Effect Graphing; Guidelines and Observations; ; Path Testing; Program Graphs; DD-Paths; Test Coverage Metrics; Basis Path Testing; Guidelines and Observations; ; Data Flow Testing; Define/Use Testing; Slice-Based Testing; Program Slicing Tools; ; Retrospective on Unit Testing; The Test Method Pendulum; Traversing the Pendulum; Evaluating Test Methods; Insurance Premium Case
Study; Guidelines; ; Section III: BEYOND UNIT TESTING; Life Cycle–Based Testing; Traditional Waterfall Testing; Testing in Iterative Life Cycles; Agile Testing; Agile Model–Driven Development; ; Model-Based Testing; Testing Based on Models; Appropriate Models; Commercial Tool Support for Model-Based Testing; ; Integration Testing; Decomposition-Based Integration; Call Graph–Based Integration; Path-Based Integration; Example: integrationNextDate; Conclusions and Recommendations; ; System Testing; Threads; Basis Concepts for Requirements Specification; Model-Based Threads; Use Case–Based Threads; Long versus Short Use Cases; How Many Use Cases?; Coverage Metrics for System Testing; Supplemental Approaches to System Testing; Nonfunctional System Testing; Atomic System Function Testing Example; ; Object-Oriented Testing; Issues in Testing Object-Oriented Software; Example:
ooNextDate; Object-Oriented Unit Testing; Object-Oriented Integration Testing; Object-Oriented System Testing; ; Software Complexity; Unit-Level Complexity; Integration-Level Complexity; Software Complexity Example; Object-Oriented Complexity; System-Level Complexity; ; Model-Based Testing for Systems of Systems; Characteristics of Systems of Systems; Sample Systems of Systems; Software Engineering for Systems of Systems; Communication Primitives for Systems of Systems; Effect of Systems of Systems Levels on Prompts; ; Exploratory Testing; Exploratory Testing Explored; Exploring a Familiar Example; Observations and Conclusions; ; 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; ; Evaluating Test Cases; Mutation Testing; Fuzzing; Fishing Creel Counts and Fault Insertion; ; Software Technical Reviews; Economics of Software Reviews; Roles in a Review; Types of Reviews; Contents of an Inspection Packet; An Industrial-Strength Inspection Process; Effective Review Culture; Inspection Case Study; ; Epilogue: Software Testing Excellence; Craftsmanship; Best Practices of Software Testing; My Top 10 Best Practices for Software Testing Excellence; Mapping Best Practices to Diverse Projects; References; Appendix: Complete Technical Inspection Packet
This updated and reorganized Fifth edition of Software Testing: A Craftsman's Approach continues to be a valuable reference for software testers, developers, and engineers, by applying the strong mathematics content of previous editions to a coherent treatment of software testing.
Responding to instructor and student survey input, the authors have streamlined chapters and examples. The Fifth Edition:
Has a new chapter on feature interaction testing that explores the feature interaction problem and explains how to reduce tests
Uses Java instead of pseudo-code for all examples including structured and object-oriented ones
Presents model-based development and provides an explanation of how to conduct testing within model-based development environments
Explains testing in waterfall, iterative, and agile software development projects
Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing
Thoroughly revised and updated, Software Testing: A Craftsman's Approach, Fifth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing
Print version record.
There are no comments for this item.