softwaretest99)softwaretest.pdf · vorlesung „software engineering für große...
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/1.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/2.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/3.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/4.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/5.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/6.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/7.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/8.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/9.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/10.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/11.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/12.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/13.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/14.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/15.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/16.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/17.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/18.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/19.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/20.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/21.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/22.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/23.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/24.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/25.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/26.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/27.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/28.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/29.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/30.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/31.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/32.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/33.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/34.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/35.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/36.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/37.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/38.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/39.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/40.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/41.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/42.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/43.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/44.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/45.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/46.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/47.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/48.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/49.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/50.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/51.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/52.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/53.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/54.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/55.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/56.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022042210/5eae48094b7388601c06edfd/html5/thumbnails/57.jpg)
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