Qualitätssicherung von Software

Slides:



Advertisements
Ähnliche Präsentationen
Durch Softwareprüfung zu Produktqualität
Advertisements

Prüfung objektorientierter Programme -1
Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
Phasen und ihre Workflows
Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Qualitätssicherung von Software (SWQS)
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software
Eingebettete Systeme Qualität und Produktivität
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software
Die Softwarelebenszyklen
V-Modell XT - Ein Überblick
Evaluierung und Implementierung der Automated Test Life-Cycle Methodology (ATLM) am Beispiel der IT3-Software Vorträger: Ling Yan.
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Qualitätssicherung von Software
Qualitätssicherung von Software
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Qualitätssicherung von Software
Management großer Softwareprojekte - Auswertung der Fragebögen - Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Qualitätssicherung von Software
Spezifikation, Verifikation, Testtheorie Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Qualitätssicherung von Software
Dynamische Testverfahren
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Erfahrungen aus Tests komplexer Systeme
Prüfung von SW-Komponenten – Überblick
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.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.1 ProzessqualitätLM 1 Fehler und ihre KostenFolie 1 Durch Softwareprüfung zu Produktqualität.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme System- und Abnahmetests Inhalt Testen des Systems unter Mitwirkung des Auftraggebers.
Es gibt viele Arten von Risiken
Husain Aljazzar, Software Engineering, Universität Konstanz
Testen, Analysieren und Verifizieren von Software
Agenda Einführung Haskell QuickCheck Zusammenfassung
Datenbanksystementwicklung – Praktikum & Vorlesung – WS 2004/2005
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
eXtreme Programming (XP)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
1 Dipl.-Inform. Christian Fuß Lehrstuhl für Informatik 3 an der RWTH Aachen 2. Übungsblatt Änderungen am ersten Entwurf und Entwurfsparadigmen 4. Mai 2006.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Simulation komplexer technischer Anlagen
Vorgehensmodelle: Schwergewichtige Modelle
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.
Agenda 13: Begrüßung & Einführung in das Thema
Einführung in die Programmierung
Testaktivitäten Komponenten- / Integrationstest
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
20 Integration 20.1 Einbettung der Integration in die Software-Entwicklung 20.2 Integrationsstrategien 20.3 Probleme der Integration 20.4 Planung und Dokumentation.
zum Thema Wasserfallmodell
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Software - Testung ETIS SS05.
© Till Hänisch, 2002 BA Heidenheim Vorgehensmodelle Wie entsteht Software ?
SEMINARVORTRAG Von Jonas Robers METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN.
 Präsentation transkript:

Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST

Hinweise Übungen: Teilnahme wird dringend empfohlen Exkursion: 17.12. (nicht heute oder so) versprochener Nachtrag über Entscheidungstabellen folgt 2.2 Integrations- und Systemtest 17.11.2004

Kapitel 2. Testverfahren 2.1 Testen im SW-Lebenszyklus 2.2 funktionsorientierter Test Modul- oder Komponententest Integrations- und Systemtests 2.3 strukturelle Tests, Überdeckungsmaße 2.4 Test spezieller Systemklassen Test objektorientierter Software Test graphischer Oberflächen Test eingebetteter Realzeitsysteme 2.5 automatische Testfallgenerierung 2.6 Testmanagement und -administration http://qse.ifs.tuwien.ac.at/courses/skriptum/script.htm 2.2 Integrations- und Systemtest 17.11.2004

Integrationstest Ziel: Systematische Erprobung des korrekten Zusammenspiels von Modulen „Modultest auf höherer Abstraktionsebene“ White-Box auf Modulebene Komponenten und Verbindungen sind sichtbar Vorbedingung: die elementaren Module sind gut getestet; man kann annehmen, dass sie weitgehend fehlerfrei sind (neu auftretende Fehler sind auf Inkompatibilitäten zwischen den Modulschnittstellen zurückzuführen) Methode: Platzhalter und Treiber 2.2 Integrations- und Systemtest 17.11.2004

Platzhalter (stubs, Stümpfe) Ein Platzhalter (stub) ist ein Pseudo-Modul, der die Funktionalität einer noch nicht geschriebenen oder integrierten Komponente (partiell) emuliert Implementierungsmöglichkeiten z.B. Rückgabe eines konstanten Wertes statt eines berechneten Funktionswertes z.B. Anzeigen der Eingabewerte und Zurückgeben von vom Benutzer eingegebener Werte z.B. Erzeugung von schnellen Prototypen oder schlecht synthetisierten Funktionen, die mit wenig Aufwand erstellt werden kann („Wegwerfsoftware“) 2.2 Integrations- und Systemtest 17.11.2004

Treiber und Orakel Ein Treiber ist ein Modul welches ein zu testendes Modul (IUT, Implementation under Test) aufruft und mit Eingabedaten versorgt Orakelproblem: Entscheidung ob die von der IUT zurück gelieferten Werte korrekt sind lösbar: automatische Testauswertung im Treiber unlösbar: manuelle Bewertung der Tests Beispiele für lösbare bzw. unlösbare Orakelprobleme Treiber zum Test einer Additionsfunktion sende „i“, prüfe ob Turingmaschine „i“ terminiert wird ein Programmtext korrekt übersetzt? Erfolgt die Berechnung innerhalb einer Millisekunde? 2.2 Integrations- und Systemtest 17.11.2004

Ergebnisse Integrationstest Was kann bei der Integration schiefgehen? undokumentierte Seiteneffekte Eigenschaften des Betriebssystems, Speicherlecks Parallelität, Verklemmungen Kommunikationsverzögerungen Oft wird für die Integration zusätzliche „glueware“ benötigt, die nicht im Modultest getestet wurde 2.2 Integrations- und Systemtest 17.11.2004

Beispiel: Taschenrechner Funktionalität: wissenschaftlich-technischer Rechner, textuelle Eingabe, mehrere Instanzen, Rückgriff auf frühere Berechnungen (a) Entwerfen sie eine Systemdekomposition (b) Entwerfen Sie ein Konzept für die Integrationstests jetzt! 2.2 Integrations- und Systemtest 17.11.2004

Pause! Endbenutzer-Abnahmetest 2.2 Integrations- und Systemtest 17.11.2004

Durchführung (1) Möglichkeiten: Big-Bang, Top-down, Bottom-Up, Sandwich Big-Bang Alle individuellen Komponenten werden an einem Tag zusammengesetzt und getestet Klingt verwegen, ist aber manchmal nicht anders machbar (z.B. wegen Verfügbarkeit spezieller Ressourcen, organisatorische Trennung zwischen Testphasen nicht möglich o.ä.) Top-Down Platzhalter für alle Komponenten vorbereitet Übergeordnetes Modul wird mit Platzhaltern getestet diese werden einer nach dem anderen durch untergeordnete Module ersetzt breadth-first oder depth-first während die Module integriert werden, müssen einige Tests erneut durchgeführt werden (Regressionstest) 2.2 Integrations- und Systemtest 17.11.2004

Durchführung (2) Bottom-Up Sandwichmethode Treiber für alle Komponenten vorbereitet Basismodule werden in sogenannte „Builds“ gruppiert und integriert idealerweise wertet der Treiber die Ergebnisse der Testläufe aus Treiber werden nach und nach ersetzt, Funktionsumfang wächst ständig Sandwichmethode Zusammenwachsen des Systems von oben und unten Stümpfe für übergeordnete Module, Treiber für Basismodule Platzhalter bzw. Treiber werden bedarfsgerecht (in Abhängigkeit der Testphase) ersetzt Modul A Modul F Modul C Modul D Modul B Modul E 2.2 Integrations- und Systemtest 17.11.2004

Vor- und Nachteile (1) Big-bang inkrementell keinerlei Zusatzaufwand für Treiber/Platzhalter unsystematische Methode, Test problematisch Fehlerlokalisation evtl. schwierig inkrementell Integration bei Fertigstellung der Komponente möglich Testfälle können vergleichsweise einfach konstruiert werden, Testüberdeckung kann gewährleistet werden Gegebenenfalls viele Testtreiber/Platzhalter nötig 2.2 Integrations- und Systemtest 17.11.2004

Vor- und Nachteile (2) Top-down Bottom-up frühe Verfügbarkeit des Systems aus Benutzersicht („Prototyp“) Verzahnung von Entwurf und Implementierung schwierige Implementierung der Platzhalter mit zunehmender Integrationstiefe Schwierigkeiten bei der Konstruktion von Testfällen für tiefer liegende Komponenten Zusammenspiel der Systemsoftware, Hardware und Anwendungsebene wird erst sehr spät getestet Bottom-up keine Platzhalter nötig Testbedingungen leicht herstellbar Testergebnisse einfach zu interpretieren Fehleingaben zur Prüfung der Ausnahmebehandlung lauffähiges Gesamtsystem erst sehr spät verfügbar Fehler in der Produktdefinition werden spät erkannt, können zu umfangreichen Änderungen führen 2.2 Integrations- und Systemtest 17.11.2004