Testing with Filmstrips - PowerPoint PPT Presentation

About This Presentation
Title:

Testing with Filmstrips

Description:

Testing with Filmstrips Tony Clark School of Computing Thames Valley University tony.clark_at_tvu.ac.uk http://itcentre.tvu.ac.uk/~clark/ * * Overview Model Driven ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 25
Provided by: eisMdxAc
Category:

less

Transcript and Presenter's Notes

Title: Testing with Filmstrips


1
Testing with Filmstrips
  • Tony Clark
  • School of Computing
  • Thames Valley University
  • tony.clark_at_tvu.ac.uk
  • http//itcentre.tvu.ac.uk/clark/

2
Overview
  • Model Driven Testing
  • Testing with Filmstrips
  • Two new features filmstrips and snapshots
  • A Case Study
  • Filmstrips as Extended Use Cases
  • An Approach to Language Design
  • Defining the Extension syntax and semantics
  • Practical Experimentation demo
  • Review and further work

3
Model Driven Testing
  • Model the system.
  • Generate tests from models.
  • Can
  • Test the model.
  • Test the implementation.
  • Most existing work uses behaviour models
  • State machines
  • Collaboration diagrams
  • Sequence diagrams

4
Testing with Filmstrips
5
Features Snapshots and Filmstrips
  • Snapshots are system state descriptions.
  • Snapshot patterns denote sets of state
    descriptions. (Model Based Functional Testing
    using Pattern Directed Filmstrips. Tony Clark.
    AST 09, ICSE 09.)
  • Filmstrip patterns are sequences of snapshot
    patterns.
  • This talk about filmstrips and filmstrip
    patterns.
  • EOPPEs (http//www.ansa.co.uk/ANSATech/93/Primary/
    10100002.pdf)

6
A Case Study
7
Basic Use Cases
8
UML Meta Model for Use Cases
9
Proposed Extension
10
Extended Use Case Model
11
An Approach to DSL Design
12
Filmstrip Semantic Domain
context Filmstrip inv steps
children-gtiterate(c s Seq s
c.steps) context Filmstrip inv steps-gtasBag
merged-gtiterate(c s Seq s
c.steps)-gtasBag
13
Basic Semantic Mapping
context BasicSatisfaction inv
spec.inv-gtforAll(c filmstrip.steps-gtforAll(s
c.satisfiedBy(s.before,env) and
c.satisfiedBy(s.after,env)))
context BasicSatisfaction inv
spec.pre-gtforAll(c c.satisfiedBy(filmstrip.
steps-gtfirst.before,env)) and
spec.post-gtforAll(c c.satisfiedBy(filmstrip
.steps-gtlast.before,env))
14
Sequenced Behaviour
context SeqSatisfaction inv filmstrip.children
children.filmstrip and children.spec
spec.children
15
Alternative Behaviour
context AltSatisfaction inv children-gtexists(r
r.filmstrip filmstrip)
16
Parallel Behaviour
context ParSatisfaction inv children-gtfilmstrip
filmstrip.merged and par.children
children.spec
17
Behaviour Repetition
context StarSatisfaction inv
filmstrip.children-gtforAll(c c
basicSatisfaction.filmstrip)
18
Practical Issues
  • Generating Sequences
  • Language Design
  • System Architecture
  • Demo

19
Generating Sequences
  • F Filmstrip Specs
  • F then F
  • F or F
  • F par F
  • F
  • epsilon
  • O
  • O Operation Specs

20
Sequences
  • f then g p q p in f , q in
    g
  • f or g f union g
  • f par g p q p q
  • r in f ,
  • s in g ,
  • (p,p) in split(r),
  • (q,q) in split(s)
  • split(s) (take(s,i),drop(s,i)) i in
    0..len(s)
  • f epsilon or (f then f)
  • epsilon
  • o o

21
A Language for Testing Java
  • _at_Filmstrip(hotel.BookingSystem,"C/project")
  • name "hotel1","hotel2"
  • address "Leeds"
  • in seq
  • op hotelId addHotel(name,address ,3,100.0)
  • pre not self.getHotels()-gtexists(hotel
    hotel.getName() hotelName)
  • post self.getHotels()-gtexists(hotel
  • hotel.getName() hotelName and
  • hotel.getAddress() hotelAddress
    and
  • hotel.getRooms()-gtsize 3)
  • end
  • ... more filmstrip...
  • do ... action ...
  • end

22
Connecting to Java
Use Case Model
Filmstrip Specification
Filmstrip Engine
Java Application
Report
23
Demo
24
Review
  • Adding snapshot patterns.
  • Controlling choices.
  • Integration with OMG testing profile.
  • Correspondence with UML behaviour.
Write a Comment
User Comments (0)
About PowerShow.com