tools zur testunterstützung modul: formale methoden sandra engelke ( 119743 ) anna schröder (...
TRANSCRIPT
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
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
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
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)
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
Formale Methoden
726.04.23 Tools zur Testunterstützung
Werkzeugtypen
André Borries
Quelle: in Anlehnung an (Spillner & Linz, Basiswissen Softwaretest, 2010), S. 209-221
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Formale Methoden
29
Vorführung von QF-Test anhandeines Anwendungsbeispiels
26.04.23 Tools zur Testunterstützung
Anna Schröder
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
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
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
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
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
Formale Methoden
Vielen Dank für die Aufmerksamkeit !
26.04.2325.11.2012 Tools zur Testunterstützung 35
Formale Methoden
Backup
26.04.2325.11.2012 Tools zur Testunterstützung 36
Formale Methoden
3726.04.23 Tools zur Testunterstützung
Testmanagement der Tosca Testsuite
André Borries
Quelle: in Anlehnung an (TRICENTIS Technology & Consulting GmbH, 2012)
Formale Methoden
3826.04.23 Tools zur Testunterstützung
Testdatengenerierung mit Q-UP
André Borries
Quelle: (GFB Softwareentwicklungsgesellschaft mbH, 2012), S. 6
Formale Methoden
3926.04.23 Tools zur Testunterstützung
Visual Lint für Visual Studio 2008
André Borries
Quelle: (Riverblade Ltd, 2012)
Formale Methoden
4026.04.23 Tools zur Testunterstützung
Regression
André Borries
Quelle: in Anlehnung an (Bauhaus-Universität Weimar, 2012)
Formale Methoden
4126.04.23 Tools zur Testunterstützung
Mercury Loadrunner Controller
André Borries
Quelle: in Anlehnung an (Automation Consultants Ltd, 2012)