Transcript
Page 1: Testfallgenerierung fuer interagierende Services

UNIVERSITÄT ROSTOCKUNIVERSITÄT ROSTOCK

Testfallgenerierungfür interagierende

Services

Testfallgenerierungfür interagierende

ServicesKathrin Kaschner, Niels Lohmann, KarstenWolf

ATAMI 2010 ▪ Berlin ▪ 15. Januar 2010Kathrin Kaschner, Niels Lohmann, KarstenWolf

ATAMI 2010 ▪ Berlin ▪ 15. Januar 2010

Page 2: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 2

B

D

Services

A

C

– selbstständige ausführbare Softwarekomponenten

– zustandsbehaftet

– Interaktion mit anderen Servicesbeliebig komplexasynchron

Page 3: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 3

Interaktion mit der Umgebung

BA

Interagiert die Implementierung eines Services so, wie es  von der Spezifikation verlangt wird?

Relevant für:Public Vieweigenen Workflow

Page 4: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 4

Interaktion mit der Umgebung

spez. Protokoll

Modellierung mit Petrinetzen

BPEL: gängiger Standard zur Beschreibungvon Interaktionen

Tool: BPEL2oWFN

Page 5: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 5

Interaktion mit der Umgebung

impl. Protokollspez. Protokoll

Page 6: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 6

keine Deadlocks (bei korrekter Impl.)

Protokoll beschreibt implizit eine Menge von Partner‐Services:

Interaktion mit der Umgebung

spez. Protokoll

Page 7: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 7

Testfall = Partner‐Service

⇒ kein Deadlock während Interaktion

spez. Protokoll

mögliche Partner‐Services

Page 8: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 8

Testfall = Partner‐Service

Wie können die Partner systematisch berechnet werden?

Antwort: mit Hilfe von Bedienungsanleitungen

⇒ kein Deadlock während Interaktion

mögliche Partner‐Services

Page 9: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 9

Bedienungsanleitung

–charakterisiert alle Partner

– Kanten:? = empfangen! = senden

–Zustände mit Boolesche Annotationen

–Partner gdw.1. Subgraph2. Annotationen sind erfüllt

– kann generiert werden (Tool: Wendy)

Page 10: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 10

Testfall

Testen mit Partner‐Services

Protokoll

Bedienungsanleitung

Page 11: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 11

Partner‐Selektion

– Bedienungsanleitung charakterisiert alle Testfälle (i.A. unendl. viele)– es gibt jedoch Redundanzen unter den Testfällen⇒ Auswahl einer kleineren Testmenge ohne Redundanzen

– Kriterium: Annotationen

–Kann durch eine Tiefensuche realisiert werden – Trotz Reduktion bleiben wir vollständig!

!details!details

!details - !offer

… …

!details !offer

!offer!offer

Page 12: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 12

– BPEL2oWFN: übersetzt BPEL‐Prozesse in ein formales Model– Wendy: berechnet die Bedienungsanleitung– oWFN2BPEL: generiert aus formalen Model einen BPEL Prozess

Spezifikationabstract BPEL

konform

Test‐fall

reduzierteTest‐Suites

Implementationexecutable BPEL,Java, .NET

Petri Netz

BPEL2oWFN

Bedienungsanl.

Wendy

testen

oWFN2BPEL

Test‐fall

BPEL Test Suites

www.service‐technology.org

Page 13: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 13

Spezifikationabstract BPEL

konform

Test‐fall

reduzierteTest‐Suites

Implementationexecutable BPEL,Java, .NET

Petri Netz

BPEL2oWFN

Bedienungsanl.

Fiona

testen

oWFN2BPEL

Test‐fall

BPEL Test Suites

– Bisher: nur Kontrollfluss– Future Work: Daten

www.service‐technology.org

Vielen Dank!Fragen?

Vielen Dank!Fragen?

Page 14: Testfallgenerierung fuer interagierende Services

www.service‐technology.org 14

Kontakt

eMail: kathrin.kaschner@uni‐rostock.de

Web: www.service‐technology.orghttp://wwwteo.informatik.uni‐rostock.de/ls_tpp/index.htm