application testing in nota design flow
TRANSCRIPT
Application Testing in NoTA Design Application Testing in NoTA Design FlowFlow
1st International NoTA Conference 2008
Johan Lilius
Åbo Akademi University
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 1
ContentsContents
Development in NoTA Testable Specifications Development Flow NoTA Tester Conclusions
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 2
NoTA Main ArchitectureNoTA Main Architecture
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 3
AN = Application NodeSN = Service Node
NoT
ADevelopment with NoTADevelopment with NoTA
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 4
Designing NoTA Applications is composing services
Building NoTA Systems is partitioning services into subsystems
Subsystems provide services Services may depend on services Subsystems may depend on
subsystems
Development in NoTADevelopment in NoTA
Service definition and subsystem implementation are done by differenet entities– Integrator: entity specifiying and composing
services– Vendor: entity providing subsystem
implementation
Problem: How to make integrator vendor discussion cycle faster
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 5
Development in NoTADevelopment in NoTA
2 ”Interfacing” points between integrator and vendor
1. Delivery of service specification(s)
2. Delivery of final subsystem implementation
Standard subcontracting problem
➽TESTABLE SPECIFICATIONS
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 6
Testable (NoTA) SpecificationsTestable (NoTA) Specifications
3 parts1. XML format for defining NoTA services
• Control Interface– Interface Specification and Behavior Specification
• Data Interface– Datatypes (MIME) and Data Handling Patterns
– XML format for describing Service Interactions
• Describe use cases, and tests– Tool support
• Executes Service Interactions on subsystem implementation
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 7
Service Interface Specification (SIS)Service Interface Specification (SIS)
Interface: specifies functions provided by the services
Behavior: protocol state machine of the service– Can include
dependencies to other services
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 8
XML format visualised for presentation purpouses
Example: Still Capture
Data InterfaceData Interface
FSM describing data-handling
Describes non-functional properties
2 FSM:s per service Cross-product of
FSM:s gives automaton for communication between services
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 9
XML format visualised for presentation purpouses
Audio Player
Service Interactions - TestsService Interactions - Tests Specifies how services are to interact
– includes non-functional constraints
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 10
Testable SpecificationTestable Specification
XML Schema for NoTA specifications Tool independent and machine readable
– Can be translated to UML, Word, etc– Can be manipulated with tools e.g NoTA Tester
Fixed vocabulary– Stronger semantics– Improves comprehension
Service Interactions – Act as tests– Improve comprehension
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 11
Development FlowDevelopment Flow
Need for a defined way to interact between the integrator and vendor
Application design flow Testing flow
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 12
Testing FlowTesting Flow
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 13
Integrator Vendor
Specification andValidation Loop
Modular SpecificationModular Specification
Subsystems may depend on each other
What if a dependency is not available?
Behavior specification makes simulation possible
File server can be tested against audio engine dependencies without access to physical audio engine
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 14
Nota TesterNota Tester
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 15
In t e r c o n n e ct
Te s t in g S u b s y s t e m
File Server Sniffer
Audio Player Sniffer
AudioPlayerServic
e
S t o r a g e S u bs y s t e m
F ileS e r v
e rS e r v ic e
Resource
Manager
Em u la t e d
S e r v ic e
S n if fe r Im p le m e n t
a t io n U n d e r Te s t
S n if fe r
Em u la
t e d S e r v ic e
ConclusionsConclusions
Service Interface Specifications– Higher quality specifications– Enable tool support– Allow simulation of dependent services
Service Interaction Specifications– Improve comprehension for vendor– Lowers validation effort for integrator
Tester tool– Go watch the demo!
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 16
AcknowledgementsAcknowledgementsÅbo Akademi Team
Dr. Dragos Truscan Mr. Johan Lindqvist Mr. Mathias Karlå Mr. Mats Lövdahl Prof. Johan Lilius Prof. Ivan Porres
Nokia Team Mr. Timo Eriksson Mr. Juha Rakkola Mr. Mikko Hurskainen Mr. Antti Latva-Aho
02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 17
ReferencesReferences D. Truscan et. al, ”Testable Specifications of NoTA-based
Modular Embedded Systems”, ECBS’08 Conference M. Karlå et. al, ”A Testing Framework for NoTA-based
Devices”, MoTIP’08 Workshop