Application Testing in NoTa Design Flow

17
Application Testing in NoTA Design Application Testing in NoTA Design Flow Flow 1st International NoTA Conference 2008 Johan Lilius Åbo Akademi University 02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 1

Transcript of Application Testing in NoTa Design Flow

Page 1: Application Testing in NoTa Design Flow

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

Page 2: Application Testing in NoTa Design Flow

ContentsContents

Development in NoTA Testable Specifications Development Flow NoTA Tester Conclusions

02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 2

Page 3: Application Testing in NoTa Design Flow

NoTA Main ArchitectureNoTA Main Architecture

02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 3

AN = Application NodeSN = Service Node

Page 4: Application Testing in NoTa Design Flow

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

Page 5: Application Testing in NoTa Design Flow

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

Page 6: Application Testing in NoTa Design Flow

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

Page 7: Application Testing in NoTa Design Flow

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

Page 8: Application Testing in NoTa Design Flow

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

Page 9: Application Testing in NoTa Design Flow

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

Page 10: Application Testing in NoTa Design Flow

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

Page 11: Application Testing in NoTa Design Flow

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

Page 12: Application Testing in NoTa Design Flow

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

Page 13: Application Testing in NoTa Design Flow

Testing FlowTesting Flow

02.12.09 Åbo Akademi - Domkyrkotorget 3 - 20500 Åbo 13

Integrator Vendor

Specification andValidation Loop

Page 14: Application Testing in NoTa Design Flow

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

Page 15: Application Testing in NoTa Design Flow

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

Page 16: Application Testing in NoTa Design Flow

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

Page 17: Application Testing in NoTa Design Flow

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