Ch5-3-integrateMut

Ch5-3-integrateMut - Introduction to Software Testing...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Introduction to Software Testing Chapter 5.3 Integration and Object-Oriented Testing Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/softwaretest/ Integration and Object-Oriented Testing Integration Testing Testing connections among separate program units In Java, testing the way classes , packages and components are connected “Component” is used as a generic term This tests features that are unique to object-oriented programming languages inheritance polymorphism and dynamic binding © Ammann & Offutt 2 inheritance, polymorphism and dynamic binding Integration testing is often based on couplings – the explicit and implicit relationships among software components Introduction to Software Testing (Ch 5)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Instantiating Grammar-Based Testing Grammar-Based Testing 5.3 Program-based Integration Model-Based Input-Based Grammar String mutation Program mutation Valid strings Mutants are not tests Must kill mutants String mutation FSMs Model checking Valid strings Traces are tests String mutation Input validation testing XML and others String mutation © Ammann & Offutt 3 Compiler testing Valid and invalid strings Input validation testing XML and others Valid strings Grammar Test how classes interact Valid strings Mutants are not tests Must kill mutants Includes OO Invalid strings No ground strings Mutants are tests Introduction to Software Testing (Ch 5) Grammar Integration Testing (5.3.1) There is no known use of There is no known use of grammar testing at the testing at the integration level © Ammann & Offutt 4 Introduction to Software Testing (Ch 5)
Background image of page 2
3 Integration Mutation (5.3.2) Faults related to component integration often depend on a mismatch of assumptions Callee thought a list was sorted, caller did not Callee thought all fields were initialized, caller only initialized some of the fields Caller sent values in kilometers, callee thought they were miles Integration mutation focuses on mutating the connections between components © Ammann & Offutt 5 Sometimes called “ interface mutation Both caller and callee methods are considered Introduction to Software Testing (Ch 5) Four Types of Mutation Operators Change a calling method by modifying values that are sent to a called method Change a calling method by modifying the call Change a called method by modifying values that enter and leave a method Includes parameters as well as variables from higher scopes (class level, package, public, etc.) © Ammann & Offutt 6 Change a called method by modifying return statements from the method Introduction to Software Testing (Ch 5)
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Five Integration Mutation Operators Each parameter in a method call is replaced by each other variable in the scope of the method call that is of compatible type.
Background image of page 4
Image of page 5
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/17/2012 for the course SWE 637 taught by Professor Offutt,j during the Fall '08 term at George Mason.

Page1 / 18

Ch5-3-integrateMut - Introduction to Software Testing...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online