Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

03.02.2003Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:

Ähnliche Präsentationen


Präsentation zum Thema: "03.02.2003Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:"—  Präsentation transkript:

1 Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende: Rene Zumack und Thilo Brause Betreuung : Prof. em. Dr. H.-J. Hoffmann

2 Fehlerabdeckung/ Regressionstest2 Vorschau Fehlerabdeckung Intensionstest Auswahl von Testfällen Testabdeckung Struktur- und Funktionstests

3 Fehlerabdeckung/ Regressionstest3 Intensionstest Am Ende eines Entwicklungszyklus Erfüllung der Spezifikation Für alle möglichen Eingaben die korrekten Ausgaben Automatisierung nur durch Abgleich mit vorherigem Programm oder Solltabellen

4 Fehlerabdeckung/ Regressionstest4 Auswahl von Testfällen (Strukturtests) Sind von der konkreten Implementierung abhängig Anwendung: Erstellen eines Kontrollflussgraphen Auswahl der Testart Festlegung der konkreten Testfälle Festlegung der erwarteten Ergebnisse Test mit Testfällen

5 Fehlerabdeckung/ Regressionstest5 Beispielprogramm Procedure alpha() Int c = System.in.read(); While (c>= ´A´ && c<= ´Z´) { { Count += 1; If ( c == `A´ || c == `B` || c== `C`) { Erste +=1; } c = System.in.read(); } Return Erste % Count; }

6 Fehlerabdeckung/ Regressionstest6 Testvarianten Anweisungstest Zweigtest Pfadtest Bedingungstest Mehrfach-Bedingungstest ZOT-Test

7 Fehlerabdeckung/ Regressionstest7 Testfälle Strukturtests Anweisungstest: Zweigtest Pfadtest,,,,,,,, Bedingungstest Mehrfach-Bedingungstest,,,,,,

8 Fehlerabdeckung/ Regressionstest8 Funktionstests Black-Box Testing Implementierungs-unabhängig Betrachtung der Aufgaben und Modul-Köpfe

9 Fehlerabdeckung/ Regressionstest9 Beispiel Funktionstest int zaehle(Liste list, Object Element) Listenlänge 0 1 Ist Element janein >1 Element kommt vor keinmaleinmal mehrmals Sortierung Best Case alle gleich Worst Case unsortiert

10 Fehlerabdeckung/ Regressionstest10 Automatisiertes Abtesten nach Codeänderung Kosteneinsparungen durch Beibehaltung bekannter und geprüfter Testfälle durch verschiedene Test-Strategien Kosten Erstellung informationsreicher Testfallprotokolle Vorschau Regressionstest

11 Fehlerabdeckung/ Regressionstest11 Vorteile der Automatisierung von Testverfahren 1. Schnelles und einfaches Testen 2. Häufiges Testen möglich 3.Testfälle können automatisiert entworfen werden 4. Führt zur Senkung der Kosten 5. Zeiteinsparung

12 Fehlerabdeckung/ Regressionstest12 Automatisierung verspricht mehr als sie halten kann Fehler bei Eingabe der Testfälle in Bezug auf Quantität und Qualität Generelle Handhabungsfehler mit dem Testwerkzeug Nachteile der Automatisierung von Testverfahren

13 Fehlerabdeckung/ Regressionstest13 Verwendung der bestehenden Testdaten bei Programmmodifikation Das Testwerkzeug nimmt dabei viel Arbeit ab Soll/Istvergleich der neuen Regressliste Anwendung des Regressionstest bei größeren Programmen Regressiontest

14 Fehlerabdeckung/ Regressionstest14 Korrektierender Regressionstest Spezifikationen sind unverändert d.h. die vorhanden Testfälle können verwendet werden Regressionstest-Typen Progressiver Regressionstest Spezifikationen wurden verändert d.h. neue Testfälle müssen entworfen werden

15 Fehlerabdeckung/ Regressionstest15 Wenn eine Sammlung von Testfällen vorhanden ist, stellt sich die Frage: Welche Testfälle benutzt man beim Regressionstest? (alle? oder wenige? ) Retest-all strategy: benutzt alle Testfälle Selective strategy: benutzt einen Teil der Testfälle Regressionstest-Typen

16 Fehlerabdeckung/ Regressionstest16 Testing at the unit level Testing at the integration level Testing at the system level Testing at the unit level Ablaufgraphen der Spezifikation sind bereits erstellt Testfall-Tabelle ist generiert und zu benutzende Testfälle sind auswählbar Testing at the integration level Semantisch zusammenhängende Module werden getestet Testing at the system level alle beteiligten Systemkomponenten Selective regression testing - Methoden

17 Fehlerabdeckung/ Regressionstest17 Sollausgaben müssen kalkuliert und definiert werden Fehlerlisten müssen von Hand überprüft werden Regressionstests nach jeder Veränderung notwendig Regressionstests sind bei ständigen Spezifikations- und Codeänderungen nicht mehr rentabel Nachteile des Regressionstests

18 Fehlerabdeckung/ Regressionstest18 Es existiert immer eine aktuelle Liste mit noch zu bewältigenden Aufgaben Die Liste muß nur am Anfang aufwendig von Hand überprüft werden Bei späteren Testläufen müssen nur die Fehler von Hand überprüft werden Anhand so einer Liste kann man wichtige Veränderungen des Codes feststellen (Funktionalitätsveränderungen) Regressiostesten ist sehr nützlich für ein großes Programmier-Team Vorteile des Regressionstests


Herunterladen ppt "03.02.2003Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:"

Ähnliche Präsentationen


Google-Anzeigen