41
Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke (119743) Anna Schröder (119848) André Borries (119733) Wismar, den 25.11.2012

Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Embed Size (px)

Citation preview

Page 1: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Tools zur Testunterstützung

Modul:Formale Methoden

Sandra Engelke (119743)

Anna Schröder (119848)

André Borries (119733)

Wismar, den 25.11.2012

Page 2: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

226.04.23 Tools zur Testunterstützung

Inhalt

1. Einleitung

2. Typen von Werkzeugen

3. Auswahl und Einführung von Werkzeugen

4. Praxisbeispiel

5. Fazit

Page 3: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

326.04.23 Tools zur Testunterstützung

André Borries

1. Einleitung

2. Typen von Werkzeugen

3. Auswahl und Einführung von Werkzeugen

4. Praxisbeispiel

5. Fazit

Page 4: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

426.04.23 Tools zur Testunterstützung

Wieso brauchen wir zuverlässige Software?

André Borries

Wir lassen uns ständig von technischen Geräten helfen.o Smartphone-Apps, Navigationsgeräteo Haushaltsgeräteo Flugzeuge, Kraftwerke

Wenn diese unzuverlässig arbeiten, werden sie nutzlos und können sogar gefährlich werden.o Gebrauchstauglichkeit / Usabilityo Funktionsfähigkeito Sicherheit

Page 5: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

526.04.23 Tools zur Testunterstützung

Wie entwickeln wir zuverlässige Software?

André Borries

Durch systematisches Testen im Softwareentwicklungsprozess.o Qualitätssicherung

Durch den Einsatz von Tools zur Testunterstützung.o Effizienz erhöhen (Automatisierung und Verwaltung)o Ressourcen schonen (Personal und Zeit)o Überblick behalten (Analysen und Berichte)o Informationsverlust gering halten (Dokumentation)

Page 6: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

626.04.23 Tools zur Testunterstützung

1. Einleitung

2. Typen von Werkzeugen

3. Auswahl und Einführung von Werkzeugen

4. Praxisbeispiel

5. Fazit

André Borries

Page 7: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

726.04.23 Tools zur Testunterstützung

Werkzeugtypen

André Borries

Quelle: in Anlehnung an (Spillner & Linz, Basiswissen Softwaretest, 2010), S. 209-221

Page 8: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

826.04.23 Tools zur Testunterstützung

Testmanagement

André Borries

Funktioneno Testfälle erfassen, katalogisieren, priorisiereno Testfortschritt beurteileno Bereitstellung aussagekräftiger Berichteo Ressourcenplanung

Schnittstelleno Anforderungsmanagemento Fehlermanagemento Konfigurationsmanagement

Page 9: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

926.04.23 Tools zur Testunterstützung

Testspezifikation

André Borries

Randbedingungen festlegeno Testreihenfolgeo Abhängigkeiten der Testfälle untereinandero erwartete Testergebnisse

Testdaten festlegen - Testdatengeneratoreno datenbankbasierto codebasierto schnittstellenbasierto spezifikationsbasiert

Page 10: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1026.04.23 Tools zur Testunterstützung

Statische Tests

André Borries

Überprüfungen der Dokumente – vorwiegend Programmcode Ausführung der Software ist nicht notwendig

Funktioneno Review-Werkzeuge (4-Augen-Prinzip, nur dokumentieren)o Statische Analyse

Vertretero Compiler (Codeprüfung)o Model Checker (Strukturprüfung)

Page 11: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1126.04.23 Tools zur Testunterstützung

Dynamische Tests

André Borries

Entlastung des Testteams durch Automatisierung Ausführung der Software ist notwendig

Vertretero Mitschnittwerkzeuge / Capture&Replay o Regressionstestwerkzeugeo Simulatoreno Testtreibero Debugger

Page 12: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1226.04.23 Tools zur Testunterstützung

Nicht funktionale Tests

André Borries

testen keine Funktionen sonderno Zuverlässigkeito Gebrauchstauglichkeito Sicherheit

Vertretero Leistungs- und Stresstest – Werkzeugeo Performanztest – Werkzeugeo Werkzeuge für den Datenvergleich (Migrationsprojekte)o Virenscanner und Firewall

Page 13: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1326.04.23 Tools zur Testunterstützung

Sandra Engelke

1. Einleitung

2. Typen von Werkzeugen

3. Auswahl und Einführung von Werkzeugen

4. Praxisbeispiel

5. Fazit

Page 14: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1426.04.23 Tools zur Testunterstützung

Werkzeuge - erhoffte Vorteile

Komplexität der Testaktivitäten werden besser organisieren und

überblicken

Steigern der Effizienz in der Testgruppe

Durchführung von eigentlich personalintensiven Testaktivitäten

durch Automatisierung möglich, z.B. Lasttests

Wiederverwendung von definierten und hinterlegten Testabläufen

Verringerung des Testzeitraums

Verbesserung der Testergebnisse

Sandra Engelke

Page 15: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1526.04.23 Tools zur Testunterstützung

Werkzeugauswahl

Grundsätzliche Entscheidung über Werkzeugeinsatz

Identifikation von Anforderungen

Evaluation des Werkzeugs

Auswertung und Auswahl des zu beschaffenden Werkzeugs

Sandra Engelke

Page 16: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1626.04.23 Tools zur Testunterstützung

Werkzeugauswahl

Grundsätzliche Entscheidung über Werkzeugeinsatz

Identifikation von Anforderungen

Evaluation des Werkzeugs

Auswertung und Auswahl des zu beschaffenden Werkzeugs

Identifikation und Quantifizierung der Ziele

Betrachtung möglicher Alternativlösungen

Identifikation von Einschränkungen

Kosten-Nutzen-Analyse / Wirtschaftlichkeitsbetrachtung

Sandra Engelke

Page 17: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1726.04.23 Tools zur Testunterstützung

Werkzeugauswahl

Grundsätzliche Entscheidung über Werkzeugeinsatz

Identifikation von Anforderungen

Evaluation des Werkzeugs

Auswertung und Auswahl des zu beschaffenden Werkzeugs

Funktionale Anforderungen

Nicht-Funktionale Anforderungen

Aufstellung eines Kriterienkatalogs

Anforderungen an Begleitleistungen des Werkzeugs

Sandra Engelke

Page 18: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1826.04.23 Tools zur Testunterstützung

Werkzeugauswahl

Grundsätzliche Entscheidung über Werkzeugeinsatz

Identifikation von Anforderungen

Evaluation des Werkzeugs

Auswertung und Auswahl des zu beschaffenden Werkzeugs

Selektion der Evaluationskandidaten

Planung und Setup

Berichterstellung

Bewertung der Werkzeuge anhand der Kriterien

Sandra Engelke

Page 19: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

1926.04.23 Tools zur Testunterstützung

Werkzeugauswahl

Grundsätzliche Entscheidung über Werkzeugeinsatz

Identifikation von Anforderungen

Evaluation des Werkzeugs

Auswertung und Auswahl des zu beschaffenden Werkzeugs

Bewertungsverdichtung und Entscheidungsvorbereitung

Entscheidung

Sandra Engelke

Page 20: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

2026.04.23 Tools zur Testunterstützung

Werkzeugeinführung

Voraussetzung:

o Reife des Testprozesses ist sichergestellt bzw. notwendige

Verbesserungsmaßnahmen sind identifiziert und in der

Verbesserung

Erste Arbeit mit Werkzeug in Pilotprojekt

Zeitpunkt für Pilotprojekt günstig wählen

Sandra Engelke

Page 21: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

2126.04.23 Tools zur Testunterstützung

Werkzeugeinführung - Pilotprojekt Eckdaten für Pilotprojekt:

o Laufzeit: 3 – 6 Monateo Größe und Umfang ähnlich gängiger Projekte

Ziel des Pilotprojektes:o Werden die Erwartungen an das Werkzeug erfüllt?o Validierung der im Auswahlprozess gemachten Annahmen

Ergebnis:o Entscheidung über weiteren Werkzeugeinsatzo Positive Entscheidung: Einsatzkonzept für Gesamteinführung

Sandra Engelke

Page 22: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

2226.04.23 Tools zur Testunterstützung

Werkzeugeinführung

Fragen für Planung und Durchführung der Gesamteinführung:

o Wird das Werkzeug in Form eines „Big Bang“ oder durch

einzelne Projekte eingeführt?

o Wie werden Widerstände einzelner Mitarbeiter oder Gruppen

gelöst?

o Welche Ausbildung benötigen die Teammitglieder und wie wird

diese erreicht?

Sandra Engelke

Page 23: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

2326.04.23 Tools zur Testunterstützung

Herausforderungen bei Werkzeugauswahl und -einsatz

Trotz umfangreicher Evaluation kein zufriedenstellendes Werkzeug

gefunden

Eigentliche Qualität der Test verbessert sich nicht, denn sie hängt vom

Tester ab

Werkzeugeinsatz zieht viel manuelle Arbeit nach sich

Werkzeugunterstützung scheitert an der Komplexität der zu entwickelnden

Software

Entwicklungszyklen sind zu schnell, als dass er geeignet durch Werkzeuge

unterstützt wird

Sandra Engelke

Page 24: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

2426.04.23 Tools zur Testunterstützung

1. Einleitung

2. Typen von Werkzeugen

3. Auswahl und Einführung von Werkzeugen

4. Praxisbeispiel

5. Fazit

Anna Schröder

Page 25: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

25

Vorstellung von QF-Test

QF-Test ist…

„ein Werkzeug zur Erstellung, Ausführung und Verwaltung von

automatisierten System- und Lasttests für Java- und Web-

Anwendungen mit grafischer Benutzeroberfläche GUI).“

(Vgl. http://www.qfs.de/de/info/Booklet_QF-Test.pdf)

seit 1999 von QFS Gmbh entwickelt

26.04.23 Tools zur Testunterstützung

Anna Schröder

Page 26: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

26

Vor- und Nachteile

26.04.23 Tools zur Testunterstützung

schnell erlernbar für Tester und Entwickler

ungewohnte Symboliken und Icons

wiederverwendbare Testmodule kein Test von Business-Logik möglich

Erkennung von GUI-Komponenten da kein Open Source Produkt: hohe Lizenz- und Wartungskosten

konfigurierbare Testreporte

umfangreiche Dokumentation und professioneller Support durch Hersteller

Anna Schröder

Page 27: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

27

Einsatz in der data experts gmbh

vor allem für Standardtestfälle

Anstreben einer möglichst vollständigen Testabdeckung der

Kernfunktionalitäten

nächtliche Integration

vor jeder Programmauslieferung

Verkauf von QF-Testfällen für Kunden-Testsystem

26.04.23 Tools zur Testunterstützung

Anna Schröder

Page 28: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

28

Anwendungsbeispiel

Login

für erfolgreiche Anmeldung müssen erfüllt sein:

o Kennzeichen im System bekannt

o Kennwort korrekt

o (Nutzer mit Kennzeichen noch nicht im System angemeldet)

26.04.23 Tools zur Testunterstützung

Anna Schröder

Page 29: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

29

Vorführung von QF-Test anhandeines Anwendungsbeispiels

26.04.23 Tools zur Testunterstützung

Anna Schröder

Page 30: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

30

Erfahrungen der data experts gmbh

QF-Test seit mehr als 5 Jahren im Einsatz

viele Fehler gefunden, die durch manuelle Test nicht gefunden

worden wären, weil

o stupide, sich ständig wiederholende Abläufe

o Massentests möglich

o jedes Mal alle Kernfunktionalitäten getestet

o keine zeitlichen, personellen Grenzen

26.04.23 Tools zur Testunterstützung

Anna Schröder

Page 31: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

31

ABER

Schulungen und gewisse Einarbeitung notwendig

Anpassung der Tests nach strukturellen Änderungen an GUI-

Komponenten

für Erstellung eines QF-Tests Fachwissen über SUT benötigt

manuelle Auswertung der Testreporte

26.04.23 Tools zur Testunterstützung

Anna Schröder

Page 32: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

3226.04.23 Tools zur Testunterstützung

André Borries

1. Einleitung

2. Typen von Werkzeugen

3. Auswahl und Einführung von Werkzeugen

4. Praxisbeispiel

5. Fazit

Page 33: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

3326.04.23 Tools zur Testunterstützung

Sollten wir Testwerkzeuge einsetzen?

André Borries

Ja, denn der Aufwand kann mit ihnen erheblich reduziert werden.o Automatisierung (spart Zeit, Personal, Kosten, …)o Wiederholung bei Regessionstestso Gleichzeitigkeit bei Last- und Performanztests

Ja, denn ohne sie ist es schwer den Überblick zu behalten.o Testmanagement

ABER, Testwerkzeuge können den Menschen nicht ersetzen!o Kreativität, Intuition, Bewertung der Sinnhaftigkeit

Page 34: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

3426.04.23 Tools zur Testunterstützung

Welches Werkzeug, wie einführen?

André Borries

Auswahl ist nur sinnvoll, wenn der Einsatzzweck bekannt isto ein Testwerkzeug löst keine Probleme von alleino der Testprozess muss bereits funktionieren

Aufwand realistisch abschätzeno Materialkosten (Hardware, Software)o Personalkosten (Schulungen, Einarbeitungszeiten)o Änderung gewohnter Abläufe

Pilotprojekte haben sich bewährto Multiplikatoren, Akzeptanz, Customizing

Page 35: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

Vielen Dank für die Aufmerksamkeit !

26.04.2325.11.2012 Tools zur Testunterstützung 35

Page 36: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

Backup

26.04.2325.11.2012 Tools zur Testunterstützung 36

Page 37: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

3726.04.23 Tools zur Testunterstützung

Testmanagement der Tosca Testsuite

André Borries

Quelle: in Anlehnung an (TRICENTIS Technology & Consulting GmbH, 2012)

Page 38: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

3826.04.23 Tools zur Testunterstützung

Testdatengenerierung mit Q-UP

André Borries

Quelle: (GFB Softwareentwicklungsgesellschaft mbH, 2012), S. 6

Page 39: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

3926.04.23 Tools zur Testunterstützung

Visual Lint für Visual Studio 2008

André Borries

Quelle: (Riverblade Ltd, 2012)

Page 40: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

4026.04.23 Tools zur Testunterstützung

Regression

André Borries

Quelle: in Anlehnung an (Bauhaus-Universität Weimar, 2012)

Page 41: Tools zur Testunterstützung Modul: Formale Methoden Sandra Engelke ( 119743 ) Anna Schröder ( 119848 ) André Borries ( 119733 ) Wismar, den 25.11.2012

Formale Methoden

4126.04.23 Tools zur Testunterstützung

Mercury Loadrunner Controller

André Borries

Quelle: in Anlehnung an (Automation Consultants Ltd, 2012)