Software Testing
Auerbach (Verlag)
978-1-4665-6068-0 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
The Fourth Edition:
Emphasizes technical inspections and is supplemented by an appendix with a full package of documents required for a sample Use Case technical inspection
Introduces an innovative approach that merges the Event-Driven Petri Nets from the earlier editions with the "Swim Lane" concept from the Unified Modeling Language (UML) that permits model-based testing for four levels of interaction among constituents in a System of Systems
Introduces model-based development and provides an explanation of how to conduct testing within model-based development environments
Presents a new section on methods for testing software in an Agile programming environment
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, Fourth 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.
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
Erscheint lt. Verlag | 29.11.2013 |
---|---|
Zusatzinfo | 165 Tables, black and white; 181 Illustrations, black and white |
Verlagsort | London |
Sprache | englisch |
Maße | 178 x 254 mm |
Gewicht | 1043 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Netzwerke |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
ISBN-10 | 1-4665-6068-1 / 1466560681 |
ISBN-13 | 978-1-4665-6068-0 / 9781466560680 |
Zustand | Neuware |
Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich