Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models...

14
1 Competence Center Modelling and Testing Modelling und Testing: Model-Based Testing Ina Schieferdecker [email protected] +49 30 3463 7241 V-Modell-XT Tour, March 2007 © FOKUS, 2007 www.fokus.fraunhofer.de/motion Outline Motivation Principles of Modell-Based Testing An Example Process Summary

Transcript of Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models...

Page 1: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

1

C o m p e t e n c e C e n t e r

Modelling and Testing

Modelling und Testing:

Model-Based Testing

Ina Schieferdecker

[email protected]+49 30 3463 7241

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Outline

� Motivation

� Principles of Modell-Based Testing

� An Example Process

� Summary

Page 2: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

2

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Current Situation for Software-Based Systems

Number of successful software projects is decreasing

Criticality of an error depends on the phase in which it is created

Error correction costs increase dramatically the later errors are detected

40%

15%

45% 40%

15%

45%

*source: survey of one of our main customers

Design Testing

Coding

Design and testing take the majority of system development

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

System and Test system

Although programmers, testers and program managers know that code must be designed and tested,

many appear to be unaware that tests themselves must be designed and tested –

by a process no less rigorous and no less controlled than that used for code.

Boris Beizer

Page 3: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

3

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

The W-Model

� Reflected in the V-Modell XT

by check lists

� No explicit requirement for

such checks – a design issue

� Model-based testing as a way

forward

Test D

esig

n

Test E

volu

tion

Model D

esign

Model E

volu

tion

Require

ments

Evolu

tion

System

DevelopmentTest

DevelopmentTesting

Debugging

Coding

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Model-Based Testing

� ... refers to software testing where test cases are derived in whole or in part

from a model that describes selected, often structural, functional,

sometimes non-functional aspects of a system under test (SUT).

[Wikipedia, 2007]

AnalysisAnalysis�� RequirementsRequirements

SpecificationSpecification�� ModelsModels

ImplementationImplementation�� CodeCode

IntegrationIntegration�� Sub)System(Sub)System

AcceptanceAcceptance�� Deployable Deployable

SystemSystem

Today’ s testing

Model - based testing

Shifting systematic testing to early phases

Page 4: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

4

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Model-Based Testing (2nd)

� Various system models exist such as:

� Requirements models

� Information models

� Work flow models

� Architectural models

� Behavioural models

� Configuration models

� Deployment models

� Performance models

� Risk models

� …

� hence, model-based test methods differ in the system model being

considered, the methods taken for test generation and the way test results

are being obtained

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

MBT Placement in Testing

Test Methods

static dynamic

systematic informal

active passive

manual automated

model basedrule based

code based model based model basedrule based

Page 5: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

5

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Systemmodel

Testmodel

Requirements

System

represents

realizes

Testsystem

represents

realizes

validates validates

represents

realizes

represents

realizes

realizes realizes

represents representsvalidates validates

Principal Approach

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

(b) Testmodel

SystemTest

system

generate

test

(c)Test

model

SystemTest

system

generategenerate

test

(a)Systemmodel

SystemTest

system

generate

test

generate

Different Forms

System-driven

Test-driven

Page 6: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

6

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

(e)

Systemmodel

Testmodel

SystemTest

system

generategenerate

test

generate

(d)

Systemmodel

Testmodel

SystemTest

system

generate generate

test

generate

Different Forms (2nd)

Combined models

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

(f)

System-modell

Test-modell

SystemTest

system

generategenerate

test

derive

Require-ments derive

Different Forms (3rd)

Combined, but independent models

Page 7: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

7

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

UML-Based Test Generation

Test Level Test Kind Test Method UML diagram

Unit Compon

ent

Integrati

on

System functional non-

functional

static dynamic

Structure

class � � � � � � �

composite

structure � � � � �

component � � � � � �

deployment � � � �

object � � � � �

package � � �

Behavior

use case � � � �1 � �

activity � � � �1 � �

sequence � � � �1 � �

communication � � � �1 � �

interaction

overview � � � �

1 � �

timing � � �1 � �

state machine � � � � � �1 � �

1 By use of additional profiles

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

� The Testing and Test Control Notation

� A standardized alternative to proprietary test systems

� Developed by a large group of testing experts

� Used by a growing community

� Proven by tools

� Maintained at ETSI

� A test specification and implementation language

� A multipart standard covering

� textual TTCN-3 core

� graphical TTCN-3

� execution interfaces TRI and TCI

� language mappings to TTCN-3, e.g. for IDL

Test Specification Techniques

Page 8: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

8

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Test Specification Techniques (2nd)

� The testing middleware

� unifying the documentation

and definition of tests

� unifying the tests in IT,

Internet- and Telco-based

systems (supporting their

convergence)

� unifying the test infrastructure Test

Execution

B) Component Provider C) Solution Provider

Solution Deployment

DevelopmentProcess

Product/Component

Specification

A) Forum

Functionality Interop./Integr.

Standardization

Specification Specification

Products

Test Execution

B) Component Provider C) Solution Provider

Solution Deployment

DevelopmentProcess

Product/Component

Specification

A) Forum

Functionality Interop./Integr.

Standardization

Specification Specification

Products

� TTCN-3: one test technology for different tests

� Distributed, platform-independent testing

� Integrated graphical test development, documentation and analysis

� Adaptable, open test environment

� Areas of Testing� Regression Testing

� Conformance/Functionality Testing

� Interoperability/Integration Testing

� Load/ Stress Testing

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Test Specification Techniques (3rd)

� Test design with the UML Testing Profile

� Integrated into UML based development processes

� U2TP has been defined to capture all information that would be

needed by different test processes

� It is a testing profile based upon UML 2.0

� That enables the test definition and test generation based on structural

(static) and behavioral (dynamic) aspects of UML models, and

� That is capable of inter-operation with existing test technologies for

black-box testing

� It is an official OMG standard since summer 2005

Page 9: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

9

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Textual and

graphical

GraphicalFormat

TTCN-3 to U2TPU2TP to TTCN-3Transformation

Test execution

Test specification

Test design

TTCN-3U2TP

����

���� ����

����(–)

����(����)

(–)

Test Specification Techniques (4th)

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

AbstractTest Suite

Testresults

Testcampaign

Modell-based test process

Test

generation3 Test

validation4

Test

selection7

Riskassessment2

6Resource

planning

Testobjectives

Test

planning1

Systemmodel

Test

evaluation9

5Test

realisation

ExecutableTest Suite

Test

execution8

The Overall Picture

Page 10: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

10

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

OMG MDA: A Model-Centric System Development

Platform Independent

SystemModels

Platform SpecificSystemModels

SystemCode

ComputationIndependent

SystemModels

CIM PIM PSM

SpecifySystems/

Applications

MOF

SpecifyLanguages

QVTSpecify

Transformations

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

PSM PST

SystemTest-

system

generategenerate

test

derive

Require-

mentsderive

PIM PIT

generategenerate

CIM CIT

generategenerate

Business Modell

Plattform

independent

IT model

Plattform

dependent

IT model

generate

generate

generate

test

test

test

Business

concepts

Test

concepts

System

platformTest

platform

MDA Extended: Integrated Modelling and Testing

CIM Computation Independent ModelCIT ... TestPIM Platform Independent ModelPIT ... TestPSM Platform Specific ModelPST ... Test

Page 11: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

11

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Detailed MDA Extended

Require-

ments

PIMUML2

eUML

PSM

System

EJB

Java

EJB

WSDL

PIT U2TP

eTML

PST

Test-system

TTCN-3

Java

Generic EJBTest Adapter

WSDLTest Adapter

Used for Japanese IT applications

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

UML

Rose

EA MDG Plugin

eUML and eTML EA Plugin

U2TP Medini

Eclipse/Medini Wrapper

TTworkbenchTTCN-3 MM

Underlying Technologies

eUML

eTML

FrontEnd

Repositories

Test Execution

Transformers

Page 12: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

12

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

A Small Example

d. ...

e. Derive test configurations

f. Derive interfaces

g. Derive test behavior

h. ...

PizzaShop

C :Customer

usePS

PS :PizzaServ ice

providePS

useDN

D :Deliv erer

provideDN

<<TestContext>>

cd PizzaServiceSuite

<<SUT>>

<<TestContext>>

Test Component

Test Component

«interface»

PizzaShopInterface

+ confirmOrder(LocalContactData) : Order

+ getCustomerOrders(integer) : Order

+ getMenu() : Menu

+ removeAllMenuItems() : void

+ updateMenuItem(string, MenuItem) : void

PizzaShopTest

«TestContext»

PizzaServ iceSuite

- verdict: Verdict

+ «TestCase» PizzaShopBehavior_testCase() : Verdict

«TestComponent»

CustomerEmulator

- makeSelection: boolean

- generalT imer: Timer

- getMenu_T imer: Timer

- updateSelection_Timer: T imer

- confirmOrder_T imer: Timer

usePS

«TestComponent»

DelivererEmulator

provideDN

DelivererNotification

PizzaShop

PizzaShopTest

«TestContext»

PizzaServ iceSuite

- verdict: Verdict

+ «TestCase» PizzaShopBehavior_testCase() : Verdict

«TestComponent»

CustomerEmulator

- makeSelection: boolean

- generalT imer: Timer

- getMenu_T imer: Timer

- updateSelection_Timer: T imer

- confirmOrder_T imer: Timer

usePS

«TestComponent»

DelivererEmulator

provideDN

DelivererNotification

PizzaShop

PizzaShopTest

«TestContext»

PizzaServ iceSuite

- verdict: Verdict

+ «TestCase» PizzaShopBehavior_testCase() : Verdict

«TestComponent»

CustomerEmulator

- makeSelection: boolean

- generalT imer: Timer

- getMenu_T imer: Timer

- updateSelection_Timer: T imer

- confirmOrder_T imer: Timer

usePS

«TestComponent»

DelivererEmulator

provideDN

DelivererNotification

PizzaShop

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Run the Tests and Evaluate the Test Results

Page 13: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

13

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Summary

� Basic idea of model based testing approach:

Testing complex software by means of

exhaustive coverage of relatively simple models

� Area of applicability:

Any software and hardware components with

well-defined interfaces or functional properties

� Formalization of requirements allows improving most phases of software development processes

� Formalized methods should be well integrated in existence tools and processes

� Tools:

� Numerous TTCN-3 tools, some U2TP tools

� Selected test generation tools

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

MBT means also Test Models: TTCN-3 and U2TP

� Both are

� test specification techniques

� open to various domains

� open to various development and test processes

� TTCN-3 is widely supported by tools, U2TP is emerging

� U2TP enables test design along UML based design processes

� TTCN-3 is the choice for technical testing and automated execution

� U2TP is the choice for high-level test design and modelling

� Both are a basis for systematic testing and can be integrated into the

system development

Page 14: Modelling und Testing: Model-Based Testing€¦ · Model-Based Testing (2 nd) Various system models exist such as: Requirements models Information models Work flow models Architectural

14

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Improvement Potentials

� Well-defined test processes in place

� Emphasis on integration and

system tests

� Test development and specification like in system development

� Test development as early as possible and as continuous as possible

� Test automation in order to concentrate on the what to be tested and not the how

� Test generation

� Testability of models

� Test hypotheses, heuristics for

efficient and effective test

generation

� Adequate reflection of test data in

test generation

� Definition and use of test patterns

� Test quality measures

� Traceability from requirements via

models to tests, test campaigns

and system bugs

� ...

V-Modell-XT Tour, March 2007© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Thank you !

Any further questions?