Model-based software testing and analysis with C#

Detalles Bibliográficos
Autor Principal: Jacky, Jonathan
Otros autores o Colaboradores: Veanes, Margus, Campbell, Colin, Schulte, Wolfram
Formato: Libro
Lengua:inglés
Datos de publicación: Nueva York : Cambridge University Press, 2008
Edición:1st ed.
Temas:
Acceso en línea:Consultar en el Cátalogo
Notas:Contiene índice
Descripción Física:349 p.
ISBN:978052168761
Tabla de Contenidos:
  • I Overview
  • 1 Describe, Analyze, Test
  • 1.1 Model programs
  • 1.2 Model-based analysis
  • 1.3 Model-based testing
  • 1.4 Model programs in the software process
  • 1.5 Syllabus
  • 2 Why We Need Model-Based Testing
  • 2.1 Client and server
  • 2.2 Protocol
  • 2.3 Sockets
  • 2.4 Libraries
  • 2.5 Applications
  • 2.6 Unit testing
  • 2.7 Some simple scenarios
  • 2.8 A more complex scenario
  • 2.9 Failures in the field
  • 2.10 Failures explained
  • 2.11 Lessons learned
  • 2.12 Model-based testing reveals the defect
  • 2.13 Exercises
  • 3 Why We Need Model-Based Analysis
  • 3.1 Reactive system
  • 3.2 Implementation
  • 3.3 Unit testing
  • 3.4 Failures in simulation
  • 3.5 Design defects
  • 3.6 Reviews and inspections, static analysis
  • 3.7 Model-based analysis reveals the design errors
  • 3.8 Exercises
  • 4 Further Reading
  • II Systems with Finite Models
  • 5 Model Programs
  • 5.1 States, actions, and behavior
  • 5.2 Case study: user interface
  • 5.3 Preliminary analysis
  • 5.4 Coding the model program
  • 5.5 Simulation
  • 5.6 Case study: client/server
  • 5.7 Case study: reactive program
  • 5.8 Other languages and tools
  • 5.9 Exercises
  • 6 Exploring and Analyzing Finite Model
  • Programs
  • 6.1 Finite state machines
  • 6.2 Exploration
  • 6.3 Analysis
  • 6.4 Exercise
  • 7 Structuring Model Programs with Features and
  • Composition
  • 7.1 Scenario control
  • 7.2 Features
  • 7.3 Composition
  • 7.4 Choosing among options for scenario control
  • 7.5 Composition for analysis
  • 7.6 Exercises
  • 8 Testing Closed Systems
  • 8.1 Offline test generation
  • 8.2 Traces and terms
  • 8.3 Test harness
  • 8.4 Test execution
  • 8.5 Limitations of offline testing
  • 8.6 Exercises
  • 9 Further Reading
  • III Systems with Complex State
  • 10 Modeling Systems with Structured State
  • 10.1 "Infinite" model programs
  • 10.2 Types for model programs
  • 10.3 Compound values
  • 10.4 Case study: revision control system
  • 10.5 Exercises
  • 11 Analyzing Systems with Complex State
  • 11.1 Explorable model programs
  • 11.2 Pruning techniques
  • 11.3 Sampling
  • 11.4 Exercises
  • 12 Testing Systems with Complex State
  • 12.1 On-the-fly testing 1
  • 12.2 Implementation, model and stepper
  • 12.3 Strategies 1
  • 12.4 Coverage-directed strategies
  • 12.5 Advanced on-the-fly settings
  • 12.6 Exercises
  • 13 Further Reading
  • 14 Compositional Modeling
  • 14.1 Modeling protocol features
  • 14.2 Motivating example: a client/server protocol
  • 14.3 Properties of model program composition
  • 14.4 Modeling techniques using composition and features
  • 14.5 Exercise
  • 15 Modeling Objects
  • 15.1 Instance variables as field maps
  • 15.2 Creating instances
  • 15.3 Object IDs and composition
  • 15.4 Harnessing considerations for objects
  • 15.5 Abstract values and isomorphic states
  • 15.6 Exercises
  • 16 Reactive Systems
  • 16.1 Observable actions
  • 16.2 Nondeterminism
  • 16.3 Asynchronous stepping
  • 16.4 Partial explorability
  • 16.5 Adaptive on-the-fly testing
  • 16.6 Partially ordered runs
  • 16.7 Exercises
  • 17 Further Reading
  • V Appendices
  • A Modeling Library Reference
  • A.1 Attributes
  • A.2 Data types
  • A.3 Action terms
  • B Command Reference
  • B.1 Model program viewer, mpv
  • B.2 Offline test generator, otg
  • B.3 Conformance tester, ct
  • C Glossary
  • Bibliography