Ein generativer Ansatz für den automatisierten Softwaretest

Ein generativer Ansatz für den
automatisierten Softwaretest
Konferenz „Softwaremanagement 2015“
19. März 2015
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
1
iSAX GmbH & Co. KG
Softwareentwicklung
… für Ihre Wertschöpfung
Systemtest
Kundenorientierung
Flexibilität
Unsere IT-Experten …
Systemintegration
Qualität
Betriebsführung
Automatisierung
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
2
Das sind wir
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
3
Überblick
 Testautomatisierung
 System- und Integrationstests
 Herausforderungen & Lösungsideen
 Ein generativer Ansatz zur Testautomatisierung
 Erprobung in der Praxis
 Bewertung des generativen Ansatzes
 Generische Werkzeuge der iSAX
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
4
Aufgabe des Softwaretests
Perfection?
Buuuuugs!
Quelle: Kolumnen im Intranet der iSAX
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
5
Softwaretest in der Prozesslandschaft
Testmanagement
Testprozess
SE-Prozess
Testinitialisierung
Testfallentwurf
Anforderungsspezifikation
Testplanung
Testfallimplementierung
Softwareentwicklung
Testdurchführung
Testausführung
Softwaretest
Testcontrolling
Testauswertung
Einführung
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
6
Testautomatisierung
Testmanagement
Testprozess
SE-Prozess
Testinitialisierung
Testfallentwurf
Anforderungsspezifikation
Testplanung
Testfallimplementierung
Softwareentwicklung
Testdurchführung
Testausführung
Softwaretest
Testcontrolling
Testauswertung
Einführung
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
7
Detaillierung
Softwareentwicklung & Softwaretest
Implementierung
SW-Komponenten
Komponententest
Testfälle
SW-Architektur
Testfälle
SW-Entwicklung
Anforderungsspezifikation
Testfälle
Integrationstest
Systemtest
Anwendungsfälle
Abnahmetest
Zeit
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
8
Detaillierung
System- und Integrationstest
Implementierung
SW-Komponenten
Komponententest
Testfälle
SW-Architektur
Testfälle
SW-Entwicklung
Anforderungsspezifikation
Testfälle
Integrationstest
Systemtest
Anwendungsfälle
Abnahmetest
Zeit
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
9
Herausforderungen
Anforderungsspezifikation
Softwareentwicklung
Softwaretest
Testfallentwurf
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
Testfallimplementierung
19.03.2015
Testausführung
10
Lösungsideen
Anforderungsanalyse
Softwareentwicklung
Softwaretest
Testfallentwurf
Testfallimplementierung
Testausführung
Quality Gate
Aktuelle iSAX-Lösungen
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
11
Lösungsidee: Generativer Ansatz
Anforderungen
Softwareprodukt
Validierung & Erweiterung
Anforderungserfassung
Release
Formalisierte Anforderungen
Repository
Testergebnisse
Modellierung
Testmodell
Generierung
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
Testskripte
19.03.2015
Ausführung
12
Erprobung in der Praxis
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
13
Praxisbeispiel – Optimierung Testprozess
Organisation
Technologie
Prozess
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015

Nachweis der Testabdeckung

Qualität der Testfälle

Grad der Formalisierung

Anpassung der Testfälle bei
Anforderungsänderungen

Synchronisation von
Testskripten und Code

Manueller Testaufwand

Interpretation der
Testergebnisse

Testmanagement

Verwaltung von Testfällen
und Testskripten

Testunterstützende
Werkzeuge
14
Praxisbeispiel – Generativer Ansatz
Werkzeuge
definiert
Testpläne
Metatestmodell
Testexperte
generiert
Testfalleditor
Testexperte
erstellt
Testfälle
Testfalleditor
Testdesigner
validiert
Testdesigner
Metatestmodell
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
15
Praxisbeispiel - Architektur
Testmanagement
Testfalleditor
Grammatik
Testdesigner
Testmanager
Anwendungsspezifische Testfälle
Testauswertung
Testfälle
Testfallcompiler
XML
Konfigurator
Testlink
XML
Templates
Testergebnisse
Testskripte
Testfallcompiler
JAVA
Testausführungssystem
.class
GUI
Zielsystem
C++
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
16
Praxisbeispiel - Metamodellierung
Testfall-DSL für Benutzerinteraktionen
 TestSuite: 'testsuite' name=ID
testcases+=TestCase*;
 TestCase: 'testcase' name=ID
'description' desc=STRING
steps+=Step*;
 Step: action=Action expectations+=Expectation*;
 Action: ClickButton | EnterText | MenuAction
// etc.
;
 ClickButton: 'click button' btn=[Button];
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
17
Testsuite
„Data Manipulation“
Name
9999 – create new file
Vorbedingungen
user is logged in
Testschritte
Erwartete Ergebnisse
1. doubleclick on the icon “Microsoft
Word 2010”.
1. window “Document1 – Microsoft
Word” is opened.
2. the main menu including the item
“File” exists at the top of the window.
1. open menu “File” in the main menu
and click the item “Save”.
1. dialog “Save As…” is opened.
1. select “Own Documents” on the left 1. dialog “Save As…” is closed.
side.
2. enter the text “testdoc” into the field 2. verify that the file “testdoc” exists in
“Document Name”.
the folder “Own Documents”.
3. click on the button “OK”.
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
18
Mapping auf GUI-Befehle
Praxisbeispiel – Testfalltemplate
Praxisbeispiel – Modellierung der Testfälle
Testfalleditor auf Basis der Testfall-DSL
testsuite DataManipulation
...
testcase CreateNewFile
description "This testcase verifies that
the creation of a new file is possible."
doubleclick icon MicrosoftWord2010
window Document1 is opened
menu MainMenu appears
precondition "user is logged in"
start system machine1
element LoginScreen is shown
choose item Save in menu MainMenu
dialog SaveAs is opened
select OwnDocuments
enter text "testdoc" into field
DocumentName
click button OK
dialog SaveAs is closed
file testdoc exists in folder
OwnDocuments
enter text "testname" into field
username
enter text "testpass" into field
password
click button OK
element HomeScreen appears
icon MicrosoftWord2010 appears
end
...
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
19
Praxisbeispiel – Generierung der Testskripte
1. Testdesigner nutzt direkt elementare GUI-Befehle.
2. Testdesigner nutzt Templates mit GUI-Befehlsfolgen.
 In Menu „File“ click „Open“ …
3. Testdesigner nutzt eine anwendungsspezifische
Testfall-DSL (high-level).
 open file …
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
20
Bewertung des generativen Ansatzes
Vorteile
Auswirkungen
• Automatisierte Integrationstests
• Testabdeckung System transparenter
• Validierte Testfallbeschreibung
• Qualität der Testfälle verbessert
• Vereinfachte Anpassung der Testfälle
• Ggf. zusätzlicher Pflegeaufwand
• Bereitstellung der Testergebnisse
• Interpretation erschwert
• Schnell ein erstes Ergebnis
• Technischer Aufwand gleich o. höher
• Kontinuierliche Qualitätsverbesserung • Höhere Komplexität
• Keine Testautomatisierer mehr nötig
• Neue Rollen sind einzuführen
• Testdesigner nutzen Testfalleditor
• Einarbeitung und Schulung notwendig
• Fehlerquellen werden ausgeschlossen
• Testwerkzeuge können fehlerhaft sein
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
21
Generische Werkzeuge der iSAX
Werkzeugmacher
Automatisierer
AVB
2020
Integrator
ebay.com , www.daviesmeyer.com , www.tqm.com, www.rr-ortner.com, www.radbag.de, www.adobe.de
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
22
iSAX GmbH & Co. KG
Anschrift: Weinbergstraße 15,
01129 Dresden
Internet: www.isax.com
Ansprechpartner: Heike Vocke
Telefon:
+49.351.8471520
Mobil:
+49.172.3440663
E-Mail:
[email protected]
Vielen Dank für Ihre Aufmerksamkeit!
Ein generativer Ansatz für den automatisierten Softwaretest,
Heike Vocke
19.03.2015
23