• Keine Ergebnisse gefunden

Modelling und Testing: Model-Based Testing

N/A
N/A
Protected

Academic year: 2022

Aktie "Modelling und Testing: Model-Based Testing"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

C o m p e t e n c e C e n t e r M odelling and Testing

Modelling und Testing:

Model-Based Testing

Ina Schieferdecker ina.schieferdecker@fokus.fraunhofer.de +49 30 3463 7241

Outline

Motivation

Principles of Modell-Based Testing An Example Process

Summary

(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

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

(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

Te st D

esign Tes

t Ev olu

tion Mod

el De sign Mo

de l Evo

lutio n Req

uirem

en ts Evo

lutio n System

Development Test

Development

Testing

Debugging

Coding

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]

Analysis Analysis RequirementsRequirements

Specification Specification ModelsModels

Implementation Implementation

CodeCode

Integration Integration (Sub)SystemSub)System

Acceptance Acceptance Deployable Deployable

System System

Today’ s testing Model - based testing

Shifting systematic testing to early phases

(4)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Model-Based Testing (2

nd

)

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

MBT Placement in Testing

Test Methods

static dynamic

systematic informal

active passive

manual automated

model based rule based

code based model based rule based model based

(5)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

System model

Test model Require

ments

System

represents realizes

Test system

represents realizes validates validates

represents realizes

represents realizes

realizes realizes

represents validates validates represents

Principal Approach

(b) Test

model

System Test

system generate

test

(c)

Test model

System Test

system generate generate

test

(a) System

model

System Test

system generate

test generate

Different Forms

System-driven

Test-driven

(6)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

(e) System

model

Test model

System Test

system generate generate

test generate

(d) System

model

Test model

System Test

system

generate generate

test generate

Different Forms (2

nd

)

Combined models

(f)

System- modell

Test- modell

System Test

system generate generate

test derive

Require- ments derive

Different Forms (3

rd

)

Combined, but independent models

(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

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

(8)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Test Specification Techniques (2

nd

)

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 Development

Process

Product/Component Specification

A) Forum Functionality Interop./Integr.

Standardization

Specification Specification

Products

Test Execution

B) Component Provider C) Solution Provider

Solution Deployment Development

Process

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

Test Specification Techniques (3

rd

)

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

(9)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Textual and graphical Graphical

Format

TTCN-3 to U2TP U2TP to TTCN-3

Transformation Test execution Test specification Test design

TTCN-3 U2TP

(–)

( )

(–)

Test Specification Techniques (4

th

)

Abstract Test Suite

Test results

Test campaign Modell-based test process

Test generation

3 Test

validation 4

Test selection 7

Risk assessment2

6Resourceplanning Test

objectives Test

planning 1

System model

Test evaluation9

5realisationTest

Executable Test Suite Test

execution 8

The Overall Picture

(10)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

OMG MDA: A Model-Centric System Development

Platform Independent

System Models

Platform Specific

System Models

System Code Computation

Independent System Models

CIM PIM PSM

Specify Systems/

Applications

MOF Specify Languages

QVT Specify Transformations

PSM PST

System Test-

system generate generate

test derive

Require-

ments derive

PIM PIT

generate generate

CIM CIT

generate generate

Business Modell

Plattform independent IT model

Plattform dependent IT model

generate

generate

generate test test test Business

concepts

Test concepts

System platform

Test platform

MDA Extended: Integrated Modelling and Testing

CIM Computation Independent Model CIT ... Test

PIM Platform Independent Model PIT ... Test

(11)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Detailed MDA Extended

Require- ments

UML2 PIM eUML

PSM

System EJB

Java EJB

WSDL

PIT U2TP

eTML

PST

Test- system

TTCN-3

Java Generic EJB Test Adapter

WSDL Test Adapter Used for Japanese IT applications

UML

Rose EA MDG Plugin

eUML and eTML EA Plugin

U2TP

Medini

Eclipse/Medini Wrapper TTworkbench

TTCN-3 MM

Underlying Technologies

eUML eTML

FrontEnd

Repositories

Test Execution Transformers

(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 provi dePS

useDN

D :Deliv erer

pro videDN

<<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

«T estContext»

PizzaServ iceSuite - verdi ct: Verdi ct

+ «T estCase» PizzaShopBehavior_testCase() : Verdict

«T estCom ponent»

CustomerEmulator - m akeSel ection: boolean - generalT im er: Ti mer - getM enu_T im er: Ti m er - updateSelection_Ti mer: T im er - confirm Order_T im er: Ti mer

usePS

«TestCom ponent»

Deliv ererEmulator provideDN

DelivererNotificati on

PizzaShop PizzaShopTest

«T estContext»

PizzaServ iceSuite - verdi ct: Verdi ct

+ «T estCase» PizzaShopBehavior_testCase() : Verdict

«T estCom ponent»

CustomerEmulator - m akeSel ection: boolean - generalT im er: Ti mer - getM enu_T im er: Ti m er - updateSelection_Ti mer: T im er - confirm Order_T im er: Ti mer

usePS

«TestCom ponent»

Deliv ererEmulator provideDN

DelivererNotificati on

PizzaShop PizzaShopTest

«T estContext»

PizzaServ iceSuite - verdi ct: Verdi ct

+ «T estCase» PizzaShopBehavior_testCase() : Verdict

«T estCom ponent»

CustomerEmulator - m akeSel ection: boolean - generalT im er: Ti mer - getM enu_T im er: Ti m er - updateSelection_Ti mer: T im er - confirm Order_T im er: Ti mer

usePS

«TestCom ponent»

Deliv ererEmulator provideDN

DelivererNotificati on

PizzaShop

Run the Tests and Evaluate the Test Results

(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

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

(14)

V-Modell-XT Tour, March 2007

© FOKUS, 2007 www.fokus.fraunhofer.de/motion

Improvement Potentials

Well-defined test processesin place

Emphasis on integration and system tests

Testdevelopment and specificationlike in system development

Test development as earlyas possible and as continuousas possible

Test automationin 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 qualitymeasures

Traceabilityfrom requirements via models to tests, test campaigns and system bugs

...

Thank you !

Any further questions?

Referenzen

ÄHNLICHE DOKUMENTE

A test-oriented HMI specification model is a model which describes the expected HMI behavior and contains sufficient information for testing. Depending on the HMI develop- ment process,

The most important feature of ParTeG is the ability to satisfy combined coverage criteria: For instance, control-flow-based coverage criteria like MC/DC or transition-based

Selected evaluation criteria are (i) Test Modeling - design of the test model derived from the SUT, (ii) Test Generation – strategy for deriving test cases, and (iii) Extensibility

− Knowing which requirements are not covered via the model-based testing process allows one to complete the test suite with some manually designed test cases or to improve the model

The major issues, apart of the ubiquitous problem in the industry that people do not have enough time to try out new technology and educate themselves, seem to be the steep

It takes as input a UML model of the expected behavior of the system under test (SUT), uses model coverage criteria to automatically generate test cases, and uses adaptors to

Testf¨alle, die aus den Modellen der funktionalen Ebene abgeleitet werden, sind daher f¨ur alle Ger¨ate einer Dom¨ane, und damit gleichem Funktionsumfang, verwendbar.. Abbildung

Following our motivation for data augmentation, we trained several BiLSTM systems on the train- ing split of the Story Cloze validation set, aug- mented by a varying amount of