+ All Categories
Home > Documents > Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große...

Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große...

Date post: 02-May-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
57
1 Vorlesung „Software Engineering für große Informationssysteme“, © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003 Softwaretest Software Engineering für große Informationssysteme TU-Wien, Sommersemester 2003 Jürgen Lutz
Transcript
Page 1: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

1Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Softwaretest

Software Engineering für große InformationssystemeTU-Wien, Sommersemester 2003

Jürgen Lutz

Page 2: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

2Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Agenda

• Wozu überhaupt Softwaretest

• Das Problem (Fehler, error, bug)

• Testmethodik, Testarten

• Testfälle

• Testautomation

Page 3: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

3Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Wozu überhaupt Softwaretest?

• Wäre es nicht viel einfacher und billiger, bei der Softwareentwicklung Fehler zu vermeiden?

• Es muss eine gründliche Analyse- und Designphase geben

• Man muss sauber und nach Spezifikationen entwickeln, dann macht man kaum Fehler

• Und wenn es doch Fehler gibt, findet die der Entwickler doch selber viel schneller

Page 4: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

4Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Ein Softwareprojekt

KonzeptIdee Spezifikation Codierung Abnahme

Produktions-termin

Planung,Abstimmung

Auftrag

„Software products are neverreleased – they escape!“ (Kaner, 1999)

„Software products are neverreleased – they escape!“ (Kaner, 1999)

Page 5: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

5Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Es wird teuer ohne Test

• In jedem Fachkonzept können Fehler gefunden werden

• Keine Spezifikation ist vollständig• Jeder Entwickler produziert auch Fehler • Es gibt keine fehlerfreie Software

Page 6: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

6Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Ein Softwareprojekt

Konzept

Idee

Spezifikation

Codierung

Abnahm

e

Produktions-termin

Spezifikation

Codierung

Spezifikation

Codierung

Testprozess

Weniger Probleme

Geringere Kosten

Zufriedenere User

Bessere Nutzung

Page 7: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

7Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Test ist eine Dienstleistung

• Testplanung• Testmanagement• Testfallerstellung• Testfalldurchführung

• Manuell• Automatisiert

• Risikoanalyse• Unterstützung des Projektmanagements

Page 8: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

8Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Was ist das Ziel von Softwaretest?

• Alle Fehler vor Produktiveinsatz finden und korrigieren

• Verifikation der geforderten Funktionalitäten

• ???

Page 9: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

9Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

ZIEL: „Alle Fehler vor Produktiveinsatz finden...“

• Wie viele Fehler können theoretisch gefunden werden?

• Was ist überhaupt ein Fehler?• Wie erkennt man einen Fehler?• Ist es effizient jeden Fehler zu finden?

Page 10: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

10Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Fehlerfolgekosten

Page 11: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

11Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

ZIEL: “... und korrigieren?“

• Kann jeder Fehler korrigiert werden?• Der Fehler muss nachvollziehbar sein• Der Fehler muss rechtzeitig gefunden werden• Die Behebung des Fehlers muss sich rentieren

• Organisatorische Probleme• Projektplan, Termindruck• Zuständigkeit muss geklärt sein• Berücksichtigung des Faktors „Mensch“

Page 12: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

12Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Fehler, Errors, Bugs...

Der Entwickler als ewiger Sündenbock ?!?

• Es geht um die Behebung von Problemen, die den User bei der Anwendung der Software behindert.

• Diese Probleme müssen gefunden, berichtet und behoben werden.

Page 13: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

13Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

... PTARs

„Problem Tracking And Reporting“

=> Synonym für „dokumentiertes Problem“

„Ich habe dir einen PTAR geschickt“ vs.

„Du hast einen Fehler gemacht“

PTAR

Page 14: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

14Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Was ist ein PTAR

• Technisches Problem• Eine Teilkomponente funktioniert nicht• Ein Programmteil reagiert falsch• Eine Schnittstelle liefert falsche Daten

• Fachliches Problem• Falscher / unvollständiger Workflow• Falsche Dateninterpretation• Unrichtige Berechnungen

Page 15: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

15Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Was kann noch ein PTAR sein

• Usability Probleme• Schlechte Performance• Bedienung nicht intuitiv• Benutzerführung im Problemfall• Unrichtiges / unvollständiges Hilfesystem• Layout / Formatierung• Rechtschreibfehler

Page 16: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

16Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

PTAR Behandlung

• Finden eines Problems• Erkennen des Fehlers• Soll/Ist Beschreibung des PTAR• Kommunikation an Entwicklung• Fachliche Entscheidung (change request ?)• Zuordnung an zuständige Gruppe• Kontrolle nach Korrektur• Ablage

Page 17: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

17Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

PTAR WorkflowTest Entwicklung

zugeordnetzugeordnetPTARPTAR

Fachbereich

EntscheidungEntscheidung

weiter-geleitet

weiter-geleitet

nicht akzeptiert

nicht akzeptiert

weiter-geleitet

weiter-geleitet

gefixtgefixt

zur Prüfungzur Prüfung

erledigterledigtungültigungültig

nicht erledigtnicht erledigt

Change Request

Change Request

in Arbeitin Arbeit

Page 18: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

18Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

ZIEL: „Die geforderte Funktionalität verifizieren?“

• Was wird überhaupt gefordert?• Spezifikationen, Fachkonzepte• Erwartbares Verhalten in vergleichbaren Applikationen• Vom User als offensichtlich erwartbar eingestuft

• Was kann überprüft werden?• Ist es effizient, alles zu überprüfen?

• Äquivalenzklassen• risk-based Vorgangsweise

Page 19: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

19Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Ziele des Softwaretests

• Kürzere Entwicklungszeiten• Bessere Planbarkeit (Termin & Kosten)• Bessere Aufgabenverteilung• Steigerung der Qualität• Reduktion der Fehlerfolgekosten

Page 20: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

20Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Ziele des Softwaretests

• Dem Anwender einer IT-Lösung die erwarteten Funktionalitäten zum geplanten Zeitpunkt in ausreichendem Maße sicherstellen

Page 21: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

21Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Methodik

• Abweichungsmanagement• PTAR-System

• Testprojekt• Testkonzept• Messbarkeit von Testerfolg

• Testphasen, Testarten• Testdurchführung, Testautomation

Page 22: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

22Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Projektabhängiges Testkonzept

• Arbeitsgrundlage für die Testabteilung• Inhalte

• Testinhalt, Basis der Testplanung• Testansatz• Testfallfindung• Testarten, Testautomation• Testbett, Testumgebungen• Ansprechpartner, Verantwortliche• Vorgehensmodell

Page 23: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

23Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Fehlerhochrechnungen

• Wie kann man Testerfolg messen?• Hochrechnung der erwarteten Fehler

• function points• lines of code

– ca. 50 bis 80 Fehler pro kLOC– ca. 350 bis 500 LOCs pro PM

• Development PM– ca. 20 bis 40 Fehler pro PM

Page 24: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

24Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Fehleranalyse

Page 25: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

25Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Fehlerverteilung

• Wo werden die Fehler gefunden• 42% Analyse & Design• 31% Code & Unit Test• 23% Funktionstest / Betreibbarkeitstest• 4% Produktion

Page 26: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

26Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Test der Gesamtapplikation mit allen Teilkomponenten

Code & UnitTest

FunktionsTest

IntegrationsTest

SystemTest

Betreibbar-keitstest

RegressionsTest

Entwicklungsseitiger Test einzelner Funktionen und Module

Strukturierte Betestung der gewünschten Funktionalität(IST / SOLL Abgleich)

Wiederholte Durchführung von Funktionstests zur Grundqualitätssicherung

Performance-, Last- und Katastrophentests in produktions-äquivalenter Umgebung

Test der Interaktion einzelner Schnittstellen und

Teilkomponenten

Testphasen

Page 27: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

27Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Code & Unit Test

• Wird von Entwicklung durchgeführt

• White Box Test

• Überprüfung von • einzelnen Funktionen• Schnittstellen• einzelnen Modulen

Page 28: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

28Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Funktionstest

• Durchführung vom Testteam

• Black Box Test

• Test gegen Spezifikation• Schnittstelle GUI oder API

Page 29: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

29Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Integrationstest

• Integration mehrerer Module, Komponenten oder Applikationen

• Überprüfung der Schnittstellen• Datenstrukturen• Interaktion

• Sind zwei Komponenten parallel lauffähig?

Page 30: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

30Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Regressionstest

• Grundqualitätssicherung• Ausgewählte Testfälle

aus dem Funktionstestfallset(30% der Testfälle)

• Automatische Durchführung

• Mit jeder neuen Version• Fehler werden aufgenommen

Page 31: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

31Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Acceptancetest

• Übergabemodus• Ausgewählte Testfälle

aus dem Funktionstestfallset• Die wichtigsten Funktionsbereiche

abgedeckt

• Mit jeder neuen Version• Entscheidung ob Version testbar

Page 32: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

32Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Systemtest

• Test in produktionsäquivalenter Umgebung• Anbindung aller in der Produktionsumgebung

vorhandenen Applikationen• In der richtigen Version !!

• Betestung von durchgängigenGeschäftsprozessen

Page 33: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

33Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Betreibbarkeitstest

• Installationstest• Performancetest• Belastungstest• Katastrophentest

Page 34: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

34Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Manuelles Testen

• Basis: Testfallbeschreibung

• Systematisches Vorgehen• Guerilla Vorgehen

• Manuelle Durchführungimmer notwendig

• Probleme• Nachvollziehbarkeit• Kosten

Page 35: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

35Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testfallfindung

• Was ist ein Testfall• Beschreibung einer Applikationsbedienung mit einem

erwarteten Ergebnis.• Wie findet man ‚gute‘ Testfälle

• Chance einen Fehler zu finden• Realistisch (risk-based)• Breite Abdeckung

• Woraus besteht ein Testfall

Page 36: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

36Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testfallfindung

• Erstellung von Funktionsdiagrammen• Geschäftsprozesse, Usecases, Funktionen• Masken, Gruppen, Controls

• Bewertung der Kritikalität• Skalierung der Testtiefe• Planung der Testbereiche• Definition der Testfälle

Page 37: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

37Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Inhalt eines Testfalles

• Detaillierte Beschreibung• Zweck des Testfalls (Testfokus)• Vorbedingungen• Aufräumarbeiten• Zugrunde liegende Testdaten• Beschreibung der einzelnen Schritte• Erwartetes Ergebnis• Tatsächliches Ergebnis pro Durchführung

Page 38: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

38Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testfall

Struktur eines Testfalls

Vorbe-dingungen

check points

Endzustand

erwartetesErgebnis

Testaktion Testaktion Testaktion

Testattribut

Testattribut

Testattribut

Testattribut

Parameter:•Aktionstyp (set, get, verify)•Wert•Zielobjekt

Page 39: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

39Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testfälle

• Testkette• Aneinanderreihung von Testfällen• Funktionale Verbindung• Voneinander abhängig

Testfall 1 Testfall 2 Testfall 3 Testfall 4

Testkette

Page 40: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

40Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testfälle

• Testserien• Aneinanderreihung von Testketten und/oder Testfällen• Fachliche / Thematische Verbindung• Voneinander unabhängig

Testfall 1

Testkette 1

Testserie

Page 41: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

41Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation

• Wozu Testautomation• Ermöglicht breite Abdeckung• Vorhandene Testfälle können in

jeder neuen Version wiederholt werden

• Kein manueller Eingriff notwendig• Manche Tests können manuell

schwer oder überhaupt nicht durchgeführt werden

Page 42: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

42Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation

• Vorteile der Testautomation• Wiederholbarkeit• Durchführung in konstanter

Geschwindigkeit• Wiederverwendbarkeit• Mehr und umfangreichere Testläufe• Besserer Einsatz von Ressourcen

(staff morale)• Reduktion der Testzeiten

Page 43: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

43Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation

• Grenzen der Testautomation• Manuelle Tests werden

dadurch nicht unnötig• Die erste Durchführung

eines automatisierten Testfalls dauert deutlich länger

Page 44: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

44Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation

• Häufige Fehler / Missverständnisse• Unrealistische Erwartungen

– Testautomation löst nicht alle Probleme

• Wenig Testerfahrung– Unzureichende Testfall

Dokumentationen– Ineffiziente Testfälle

• Erwartung, viele neue Fehler zu finden

Page 45: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

45Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation

• Häufige Probleme• Wartung der automatisierten

Testfälle• Technische Probleme -

fehlerhafte Testtools• Organisatorische Dinge• Testautomation ist eine mittel- bis

langfristige Investition

Page 46: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

46Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation – capture & replay

Page 47: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

47Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation – generischer Ansatz

StandardisiertesTestfall Format

Funktionenschicht

Page 48: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

48Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation

• Unser Konzept der Testautomation• NICHT capture & replay

– Zu hoher Wartungsaufwand– Geringe Effizienz bei hoher Anzahl von Testfällen– Kein error handling möglich– Keine unbeaufsichtigten Testläufe möglich

• Generischer Ansatz– Unterschiedliche Testfälle verwenden die selben

Funktionen und Methoden– Hoher Grad an Wiederverwendbarkeit– Geringer Wartungsaufwand, effizienter ...

Page 49: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

49Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testtools

• Der Grundsatz unserer Testtool-Sammlung• strikte Trennung von Testfallerstellung und

Testdurchführung

standardisiertesTestfall Format Funktionenschicht

Page 50: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

50Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testfälle Automationstool

Testobjekt

Testautomation

Page 51: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

51Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testlandschaft

EMU

VB

Web

Java1 : n

VA-ST

3270

SAP

Projekte Plattformen

???

Page 52: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

52Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation

Testdaten lesen Interpretation Steuerung Dateneingabe

Page 53: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

53Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

XML Interface

XMLInterface

Testdaten lesen

Interpretation Steuerung Dateneingabe

Page 54: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

54Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Funktionenschicht

XMLInterface

InterpretationTestdaten lesen

Dateneingabe

Steuerung

Page 55: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

55Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Aufbau der FunktionenschichtW

inR

unne

r

Ablaufsteuerung, Logging, Reporting, Errorhandling

Globale Funktionen, GUI-Methoden des WinRunner

VB

Java

Web

PlattformspezifischeMethoden imWinRunner

SLS Kossy

SLS Kossy

ARC

SLS easyPOC

SLS Kossy

GAPA

ProjektspezifischeMethoden imWinRunner

EAS

ProjektspezifischeMethodenaußerhalbdes WinRunner

SAP

PlattformspezifischeMethodenaußerhalbdes WinRunner (DLL)

Page 56: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

56Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Testautomation Kreislauf

TestfallVerwaltungTestfallVerwaltung

Ausgabe von XML-FilesAusgabe von XML-Files

ResultatsrückführungResultatsrückführung

generierung derresult files (XML)generierung derresult files (XML) Steuerung der GUISteuerung der GUI

Abarbeitung durchFunktionenschichtAbarbeitung durchFunktionenschicht

Page 57: Softwaretest99)Softwaretest.pdf · Vorlesung „Software Engineering für große Informationssysteme“, 3 © 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien,

57Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Jürgen Lutz, All rights reserved, Technische Universität Wien, SS2003

Fragen?

Danke für Ihre Aufmerksamkeit


Recommended