Modellbasiertes Testen bei der Entwicklung einer IKT ... · Modellbasiertes Testen bei der...

Preview:

Citation preview

Modellbasiertes Testen bei der Entwicklung einer IKTEntwicklung einer IKT-Infrastruktur für Elektromobilität

Vortrag bei GI-TAV 37, Friedrichshafen, 5.2.2015Baris Güldali, Mirko Rose, Alexander Teetz, ,Stephan Flake, Carsten Rust

Ziel des Projekts Identifikation von Geschäfts- und Marktmodellen sowie IKT-Infrastrukturen

zur Realisierung einer nachhaltigen und tragfähigen Elektromobilität mit dem Fokus Individualverkehr.

2MBT für Elektromobilität - TAV 37

IKT-Infrastruktur

MBT für Elektromobilität - TAV 37 3

Aufgaben für Tester

• Testen einzelner Komponenten Systemtest– Testobjekt: jeweils eigene Komponente jedes Partners

T tb i A d fäll S h itt t ll b h ib– Testbasis: Anwendungsfälle, Schnittstellenbeschreibung– Testziel: Funktionale Korrektheit

• Komponenten-übergreifendes Testen End-2-End Test End 2 End Test– Testobjekt: Alle Komponenten im Zusammenspiel– Testbasis: Geschäftsprozessmodelle, fachliches Datenmodell– Testziel: Konsistenz der Geschäftsprozess-Daten

MBT für Elektromobilität - TAV 37 4

Systemtest-Prozess

Testentwurf und -implementierung

Testschritte

Testfälle (fachlich)

Klassifikationsbaum

TestdatenDatenkategorien

Kombinationsregeln

Testschritte

Testskripte

Datenkombination

Testdaten

MBT für Elektromobilität - TAV 37 5

Design-Modelle

act Activ ity

class Presentation-Model

«presentation page»TarrifPage

«presentation group»TarrifPage::TarrifDetails

«presentation group»TarrifPage::TarrifList

User

ActivityInitial

«input»UWE::PasswordPage::Confirmation

Password

- Passwort :Passwort

«input»UWE::PasswordPage::New

Password

- Passwort :Passwort

«input»UWE::PasswordPage::Old

Password

- Passwort :Passwort

«presentatio...UWE::

PasswordPage

«button»UWE::PasswordPage::

Password::Change Password

«flow» «flow»«flow»

«flow»«flow»

«text»TarrifPage::TarrifDetails::: TarrifName«IteratedPrese...

TarrifPage::TarrifList

«anchor»TarrifPage::: TarrifName

«button»TarrifPage::TarrifDetails:: : IsActiv e

«text»TarrifPage::TarrifDetails:: : TarrifDescription

«selection»TarrifPage::TarrifDetails:: : OneTimeFeeIsOn

«selection»TarrifPage::TarrifDetails:: : BaseFeeIsOn

«selection»

«textbox»TarrifPage::TarrifDetails:: : OneTimeFee

«textbox»TarrifPage::TarrifDetails:: : BaseFee

er W

eb G

UI

Open change password page

Type current password Type new password Retype new password Click to change passwordopen change password page

Send change password request

ActivityFinal

class All

«button»TarrifPage::TarrifList::

AddTarrif

«selection»TarrifPage::TarrifDetails:: : UsageFeeIsOn TarrifPage::TarrifDetails:: : UsageFee

TarrifPage::TarrifDetails:: :

UsageFeeRepitition

«presentation group»TarrifPage::TarrifDetails::dynamic tarrif

«selection»TarrifPage::TarrifDetails::dynamic tarrif:: : DynamicTarrifIsOn

Use

page request

Price

+ id :String

Tariff

- id :String+price

0..1

«textbox»TarrifPage::TarrifDetails::dynamic tarrif:: : DtMinCost

«textbox»TarrifPage::TarrifDetails::dynamic tarrif:: : Dtmaxcost

«selection»TarrifPage::TarrifDetails::dynamic tarrif:: :

DtRepitition

«textbox»

PriceDetailsTariffDetail

+priceDetails 1..*+tariffDetails 1..*

«textbox»TarrifPage::TarrifDetails:: : StartDate

«textbox»TarrifPage::TarrifDetails:: : EndDate

«button»TarrifPage::TarrifDetails:: :

Submit

«button»TarrifPage::TarrifDetails:: :

Cancel

MBT für Elektromobilität - TAV 37 6

Systemtest-Testfall

# Command GUI-Element GUI-ID Element-Type Input-Type# Command GUI Element GUI ID Element Type Input Type

1 open PasswordPage https://www.SMART-EM.de presentation page

2 Assertion Old Password chgPwd_old_pwd input

3 Type Old Password chgPwd_old_pwd input Passwort

4 A ti N P d h P d d i t

Test script

forXml file://D:/testdata1.html

4 Assertion New Password chgPwd_new_pwd input

5 Type New Password chgPwd_new_pwd input Passwort

6 Assertion Confirmation Password chgPwd_cnfm_pwd input

7 type Confirmation Password chgPwd_cnfm_pwd input Passwort

openAndWait https://www.SMART-EM.de

assertElementPresent id=chgPwd_old_pwd

typeAndWait id=chgPwd_old_pwd ${Old_Password}

8 Assertion Change Password chgPwd_chgPwd_btn button

9 Click Change Password chgPwd_chgPwd_btn button

P P t ti B l i C t tP t ti

assertElementPresent id=chgPwd_new_pwd

typeAndWait id=chgPwd_new_pwd ${New_Password}

assertElementPresent id=chgPwd_cnfm_pwd

$ProcessModel

PresentationModel

BalsamiqMockup

ContentModel

PresentationModel

typeAndWait id=chgPwd_cnfm_pwd ${Confirmation_Password}

assertElementPresent id=chgPwd_chgPwd_btn

clickAndWait id=chgPwd_chgPwd_btn

AssertText id=${result msg id}

MBT für Elektromobilität - TAV 37 7

AssertText id=${result_msg_id}

endForXml

Aufgaben für Tester

• Testen einzelner Komponenten Systemtest– Testobjekt: jeweils eigene Komponente jedes Partners

T tb i A d fäll S h itt t ll b h ib– Testbasis: Anwendungsfälle, Schnittstellenbeschreibung– Testziel: Funktionale Korrektheit

• Komponenten-übergreifendes Testen End-2-End Test End 2 End Test– Testobjekt: Alle Komponenten im Zusammenspiel– Testbasis: Geschäftsprozessmodelle, fachliches Datenmodell– Testziel: Konsistenz der Geschäftsprozess-Daten

MBT für Elektromobilität - TAV 37 8

End-2-End-Test

mnu

ngss

yste

m

Tarif bestimmen

Tarif Abrechnen

Abre

ch

bestimmenQuittung

Lade

säul

e

Tarif anzeigen Laden Quittung

ausdruckenTarif

abfragen

endu

ng AuftragLademenge

Mob

ile A

nw Lademenge auswählen

Ladeauftrag geben

Kosten anzeigen

MBT für Elektromobilität - TAV 37 9

Gemeinsames Datenmodell

Partner 1Partner 2

Tarif Quittung

AuftragLademenge

Partner 3

MBT für Elektromobilität - TAV 37 10

Testdaten für Geschäftsprozesse

TarifTarif

QuittungAuftrag

Lademenge

Q g

MBT für Elektromobilität - TAV 37 11

Lessons Learned

• Modellierung– iteratives Vorgehen, minimale und konsistente Modelle– GUI-Modellierung sehr hilfreich

ülti / ülti W t b i h i d A d fäll– gültige/ungültige Wertebereiche in den Anwendungsfällen

• Testentwurf• Testentwurf– MBT ist ein gutes Mittel für systematisches Vorgehen– Automatisierung möglich, nicht notwendigg g , g– Konsistente durchgängige Testdaten wichtig inbs. für E2E-Tests

• Testausführung– Keywords im Modellen erleichtern Automatisierung

MBT für Elektromobilität - TAV 37 12

Ausblick

• Modellierung– Modellierung von Alternativ-Abläufen– Bezug zwischen Datenmodell und Klassifikationsbaum

B D t ifik ti d Kl i Kl ifik ti b– Bezug von Datenspezifikation und Klassen im Klassifikationsbaum

• Testentwurf• Testentwurf– Testdaten-Abhängigkeit mit Verzweigungen– Positive / Negativtestfälleg– Fachliche Testfälle in BDD-Style (GIVEN-WHEN-THENs)

• Testausführung– offen: manuell / atuomatisiert

MBT für Elektromobilität - TAV 37 13

Vielen Dank für Ihre Aufmerksamkeit.

Koordinations-lab – Software Quality LabU i ität P d bUniversität PaderbornZukunftsmeile 133102 PaderbornTel.: (05251) 60 5390 / 5391

http://www.smart-em.deinfo@s-lab.upb.de

14MBT für Elektromobilität - TAV 37

Recommended