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://[email protected]
14MBT für Elektromobilität - TAV 37