Automatic Generation of Testcases for System Level Tests Dr. Martin Beißer, sepp.med gmbh
Systemtest Der Systemtest ist die Teststufe, bei der das gesamte System gegen die gesamten Anforderungen (funktionale und nicht funktionale Anforderungen) getestet wird. Gewöhnlich findet der Test auf einer Testumgebung statt und wird mit Testdaten durchgeführt. Die Testumgebung soll die Produktivumgebung des Kunden simulieren. In der Regel wird der Systemtest durch die realisierende Organisation durchgeführt.
Testumgebung: Testautomatisierung Testfallimplementierung Windows PC Workspace-UI e.g.: Blinker Test Real-Time OS e.g.: Compact RIO
Standard Testdesign oder Wie kommt man zu den Testfällen Automatische Testfallgenerierung 06.12.2012 7
Standard Testprozess: Testdesign Anforderungen Testidee Testimpl. Testfälle??? Test Ausführung 8
Beispiel: Blinkersteuerung R_10001_blinker_ein Das System soll es ermöglichen, den Blinker zu aktivieren, so dass er dauerhaft blinkt. R_10002_blinker_tippen Das System soll es ermöglichen, die Richtungsblinker für drei Zyklen blinken zu lassen, indem der Blinkerhebel in die entsprechende Richtung getippt wird. R_10003_blinker_aus Das System soll es ermöglichen, einen aktivierten Richtungsblinker zu deaktivieren, indem der Blinkerhebel in Nullstellung gebracht wird. War während der Blinkfunktion die Warnblinkanlage eingeschaltet, so muss sie nach Beendigung des Richtungsblinkers wieder aktiviert werden. R_10004_warnblinker_ein Das System soll es ermöglichen, die Warnblinkanlage über einen Knopf in der Mittelkonsole zu aktivieren. 9
Blinkertests Test 1: 1. Blinker einschalten Prüfe: Blinker blinkt dauerhaft 2. Blinker ausschalten Prüfe: Blinker ist aus Test 2: 1. Blinker antippen Prüfe: Blinker blinkt 3 mal Test 3: 1. Warnblinker einschalten Prüfe: Warnblinker blinkt dauerhaft 10
Blinkertests Test 3: 1. Warnblinker einschalten Prüfe: Warnblinker blinkt dauerhaft Test 4: 1. Warnblinker einschalten Prüfe: Warnblinker blinkt dauerhaft 2. Blinker aktivieren Prüfe: Blinker blinkt dauerhaft 3. Blinker ausschalten Prüfe: Warnblinker blinkt dauerhaft 11
Testfall 1: 1. Blinker rechts einschalten Prüfe: Blinker rechts blinkt Anzahl Mausklicks: ca. 50 2. Blinker ausschalten Prüfe: Blinker ist aus Anzahl Tastatureingaben: 14 Zeit: 5 10 Minuten sepp.med gmbh 12
Nach weiteren 300 Mausklicks: 6 Testfälle im TestStand 13 sepp.med gmbh
Blinkermodell 14
15
Blinkersteuerung: komplette Req.-Abdeckung 16
Murphy s Law Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonst wie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. 17
19
20
21
Übersichtlichkeit durch Struktur 22
Richtungsblinken 23
Warnblinken 24
25
messbare Testabdeckung auf Basis von Modellen Anforderungsabdeckung: einfach Abdeckung: 5 komplette Abdeckung: 52 Knotenabdeckung: 5 Kantenabdeckung: 5 Pfadabdeckung: 340 Pfadabdeckung mit Loop: 956 aber auch Risikoabdeckung Workflow-Abdeckung 26
Nach weiteren 300 Mausklicks: 6 Testfälle im TestStand 27 sepp.med gmbh
Automatische Testfallgenerierung aus Modellen =.mzt Modell Testfälle Testfallgenerator
Testumgebung: Testautomatisierung Testfallgenerator Testfall-Import Windows PC Workspace-UI e.g.: Blinker Test Real-Time OS e.g.: Compact RIO
Was gewinnen wir durch.mzt Zeit Wartbarkeit Flexibiltät Transparenz Sicherheit der Implementierungsaufwand wird eingespart die Wartbarkeit der Testfälle wird sehr erleichtert die Teststrategie kann sehr leicht geändert werden anhand der Modelle wird die Testabdeckung nachvollziehbar anhand der Modelle und der gewählten Generierungsstrategie wird die Testabdeckung messbar
Kontakt sepp.med gmbh Gewerbering 9 91341 Röttenbach Tel: +49 9195 931-0 Fax: +49 9195 931-300 www.seppmed.de Dr. Martin Beißer Tel.: +49 9195 931-202 email: martin.beisser@seppmed.de Automatische Testfallgenerierung 06.12.2012 31