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

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Prüfung objektorientierter Programme -1
Integrations- und Funktionstests im Rahmen des V-Modelles
Phasen und ihre Workflows
Daten - Sicherung Begriffsdefinition Arten der Datensicherung
Qualitätssicherung von Software (SWQS)
Das „Vorgehensmodell“
Ontologien- Query 1 Teil2
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Untersuchung und szenariobasierte Entwicklung von Websites zur Orientierung in Universitätsstudiengängen unter Berücksichtigung von Prinzipien des Web.
Evaluierung und Implementierung der Automated Test Life-Cycle Methodology (ATLM) am Beispiel der IT3-Software Vorträger: Ling Yan.
Objektrelationales Mapping mit JPA Testing Jonas Bandi Simon Martinelli.
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Qualitätssicherung von Software
Prototyping.
Dynamische Testverfahren
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Erfahrungen aus Tests komplexer Systeme
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Einzeltests im Rahmen des V-Modelles Aufgaben Überprüfung des Programmcodes mit Hilfe.
Funktionalität Vorhandensein vor Funktionen mit festgelegten Eigenschaften. Diese Funktionen erfüllen die definierten Anforderungen. Richtigkeit - Liefern.
Schulung der Mitarbeiter
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Dynamische Datentypen
Algorithmen und Datenstrukturen
Testen, Analysieren und Verifizieren von Software
Agenda Einführung Haskell QuickCheck Zusammenfassung
Der Testprozess als Bestandteil des SE Prozesses:
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Vortrag 11: Reengineering - Refactoring
eXtreme Programming (XP)
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Entitäten Extraktion Wichtige Schritte Petra Maier WS 05/06.
Institut für Theoretische Informatik TU Carolo-Wilhelmina zu Braunschweig Teamprojekt in Software Systems Engineering und Theoretischer Informatik Einsatz.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Duo- und Quad Prozessor-Architektur
Whitebox Testen mit JUnit
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Testgetriebene Entwicklung (TDD)
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Fachhochschule München, Projektstudium Chipkarten SS 2002 Qualitätssicherung/Tester Wozu braucht man Tester? Vorbereitung Durchführung Ergebnisse Resumée.
Wasserfallmodell und Einzelbegriffe
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
zum Thema Wasserfallmodell
Automatisierte Worterkennung (Autocorrect) Automatisierung in der Medientechnik, Labor, KulturMediaTechnologie Lucia Winsauer SS14.
TDD mit MSTest Stefan Lieser Web:
TDD mit MSTest Stefan Lieser
Stefan Lieser Web:
xRM1 Pilot Implementierung
Testvorbereitungen, Unit Test
Echtzeitsimulation einer Gasturbine Real-Time-Simulation of a Gas-Turbine Till Hoffmann -Diplomarbeit - September 2000.
Software Engineering Strukturierter Entwurf
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Software - Testung ETIS SS05.
Semesterprojekt Präsentation Thema 1 Test-Arten
Formale Methoden Semesterprojekt Präsentation Thema 1 Test-Arten Fernstudium Master WI, MWI 10F Jan te Kock,
SEMINARVORTRAG Von Jonas Robers METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN.
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
Hero Quest Verwaltungstool -Projektmanagement Projektplanung für Softwareprojekte: KLips 2.0 Dozent: Prof. Dr. phil. Manfred Thaller Referent: Alexander.
 Präsentation transkript:

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

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

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

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

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; }

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

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

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

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

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

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

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

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

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

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

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

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

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