Software Testing - Paul C. Jorgensen

Software Testing

A Craftsman's Approach, Third Edition
Buch | Hardcover
440 Seiten
2008 | 3rd New edition
Auerbach (Verlag)
978-0-8493-7475-3 (ISBN)
93,50 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Highlights issues such as how Agile and XP development environments have radically changed the role of software testers by making testing integral to every phase of the development process. This book covers model-based and test-driven development, reexamination of all-pairs testing, and explanation of the four contexts of software testing.
Since the last publication of this international bestseller, software testing has seen a renaissance of renewed interest and technology. The biggest change comes in the growing prominence and acceptance of Agile Programming. 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.
The third edition of the widely adopted text and reference book is comprised of six parts. It begins by providing the mathematical background in discrete mathematics and linear graph theory that is used in subsequent sections. The book continues to describe specification-based (functional) and code-based (structural) test development techniques, while extending this theoretical approach to less understood levels of integration and system testing. The author further develops this discussion to include object-oriented software. A completely new section relates all of the previously discussed concepts to the agile software development movement and highlights issues such as how agile and XP development environments are radically changing the role of software testers by making testing integral at every phase of the development process.


Thoroughly revised and updated, Software Testing: A Craftsman’s Approach, Third Edition is sure to become a standard reference for those who need to stay up-to-date with evolving technologies in software testing. Carrying on the tradition of previous editions, it will continue to serve as a valuable reference for software testers, developers, and engineers.

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

Erscheint lt. Verlag 15.2.2008
Zusatzinfo 136 Tables, black and white; 169 Illustrations, black and white
Verlagsort London
Sprache englisch
Maße 178 x 254 mm
Gewicht 953 g
Themenwelt Mathematik / Informatik Informatik Software Entwicklung
ISBN-10 0-8493-7475-8 / 0849374758
ISBN-13 978-0-8493-7475-3 / 9780849374753
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Entwurfsmuster für effektive Softwareentwicklung

von Karl Eilebrecht; Gernot Starke

Buch | Softcover (2024)
Springer Vieweg (Verlag)
19,99