Testen, Analysieren und Verifizieren von Software

Slides:



Advertisements
Ähnliche Präsentationen
Lexikon der Qualität Begriffe in Verbindung mit Qualität und ISO9000 finden sie auch im Lexikon der Qualität erläutert (
Advertisements

Prüfung objektorientierter Programme -1
Qualität „Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener.
Integrations- und Funktionstests im Rahmen des V-Modelles
Das V - Modell - Überblick
V - Modell Anwendung auf große Projekte
Phasen und ihre Workflows
Vorgehensmodell - Wasserfallmodell
Anforderungen an wissenschaftliche Arbeit
Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.

Das „Vorgehensmodell“
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Evaluierung und Implementierung der Automated Test Life-Cycle Methodology (ATLM) am Beispiel der IT3-Software Vorträger: Ling Yan.
Software-Lebenszyklus
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Qualitätssicherung von Software
Qualitätssicherung von Software
Qualitätssicherung von Software
Dynamische Testverfahren
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Testfallbestimmung Dynamische Testverfahren wie das Black Box-Testen benötigen konkrete.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Prüfung von Simulationsprogrammen – Integrations- und Funktionstests Inhalt Vom Einzeltest.
Was ist und wie prüft man Qualität
Fehler und ihre Kosten Inhalt Software und ihre Fehler
Prozessqualität und Produktqualität
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.
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
Was ist Qualität ? Qualität von Produkten oder Dienstleistungen ist das Gesamtergebnis aller Aktivitäten in jeder Phase des gesamten Leistungsprozesses.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Das V - Modell - Überblick
Dokumentationsanforderungen
Rational Unified Process (RUP) - Definitionen
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
UML Begleitdokumentation des Projekts
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Vorgehensmodelle: Schwergewichtige Modelle
Software Engineering WS 2009
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Synergieeffekte durch softwaregestützte Prozessmodelle
Zentralübung Automotive Software Engineering – Übungsblatt 8
Strukturierter Entwurf (und Realisierung)
Definitionen der SWT (1)
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
HFWI System Development Teil B Der Softwareentwicklungsprozess
5 Software-Qualität 5.1 Qualität 5.2 Taxonomie der Software-Qualitäten.
PRO:CONTROL Ziel des Moduls Arbeitspakete
Grundlagen wissenschaftlichen Arbeitens
Aufgaben und Ziele des Faches Qualitätsmanagement:
GIS Design: A Hermeneutic View (Michael D. Gould)
Qualitätssicherung in der Jugendhilfe Wer sichert was und für wen?
Qualität ? ? was ist das??? ? Kai - Uwe Güteklasse A
Software Engineering Grundlagen
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
´zielgerichtete Vorbereitung von in der Zukunft liegenden Aktivitäten iterativer Prozess von Projektanfang bis -ende muss ständig überprüft und angepasst.
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.
 Präsentation transkript:

Testen, Analysieren und Verifizieren von Software Software-Qualität Testen, Analysieren und Verifizieren von Software Michael Zeller 14. Juli 2011

Gliederung Einführung und Motivation Wichtige Begriffe und Definitionen Prozesse und Organisation Test- und Prüftechniken Dynamische Testverfahren Statische Analysen Werkzeuge

Motivation SW-Kosten steigen gegenüber HW-Kosten Kosten während der Wartungsphase größter Anteil der SW- Entwicklungskosten Ursache: Fehler der SW-Entwicklung, werden erst bei der Produktnutzung entdeckt Fehlerkorrektur besonders zeitaufwändig wenn: SW schlecht strukturiert unzureichend dokumentiert schwer verständlich = Ausdruck unzureichender SW-Qualität

Motivation Hauptprobleme: Vermeintliche Fehlerkorrekturen können zu Folgefehlen führen  Wechselwirkungen mit anderen Teilen der SW, besonders wenn SW schlecht strukturiert Ursache des Fehlers geht auf Frühphase der SW-Entwicklung zurück (z.B. Anforderungsdefinition)  umfangreiche Änderungen nötig Ziele: Methoden, die die Erstellung zuverlässiger, verständlicher und leichter änderbarer SW ermöglichen Neben konstruktiven Verfahren wird die Qualität mit analytischen Mitteln geprüft

Motivation Prinzip der integrierten Qualitätssicherung Voraussetzung: Der SW-Entwicklungsprozess ist in Phasen unterteilt. Während jeder Phase werden konstruktive Methoden eingesetzt z.B. Structured Design (SD), Unified Modeling Language (UML) Am Ende jeder Phase wird mit analytischen Mittel die Qualität des entstandenen Zwischenprodukts beurteilt.  frühzeitige Erkennung von Fehlern, Korrektur mit geringem Aufwand möglich.

Motivation Integrierte Qualitätssicherung Q-Sicherung setzt mit dem erstem Zwischenprodukt ein Verzahnung von Konstruktions- und Prüfschritten Möglichst viele Fehler erkennen, die auf den Konstruktionsschritt folgen, in denen die Fehler entstanden sind Test nur des fertigen Programms nicht ausreichend

Motivation Qualitätszielbestimmung Verschiedene SW-Eigenschaften ergeben die SW-Qualität Sind unterschiedlich wichtig (für Hersteller u. Benutzer) Stehen teilweise in Wechselwirkung  Die „beste“ SW-Qualität gibt es nicht, es gibt nur die „richtige“ Berücksichtigung von Zeit- u. Kostenaspekten

Begriffe und Definitionen Qualität „Die Beschaffenheit einer Einheit bezüglich ihrer Eignung, festgelegte und abgeleitete Erfordernisse (Qualitätsanforderungen) zu erfüllen.“ (DIN 55350-11 95) Qualitätsanforderung „Bezeichnet die Gesamtheit der Einzelanforderungen an eine Einheit.“

Begriffe und Definitionen Qualitätsmerkmale „Ermöglichen die konkrete Festlegung und Beurteilung von Qualität. Sie stellen Eigenschaften einer Funktionseinheit dar, anhand derer ihre Qualität beschrieben und beurteilt wird.“ Sicherheit Zuverlässigkeit Verfügbarkeit Robustheit Speicher- u. Laufzeiteffizienz Änderbarkeit Portierbarkeit Prüfbarkeit Benutzbarkeit

Prozesse u. Organisation Organisation der Prüfung Software muss während der Entwicklung u. abschließend geprüft werden Die Prüfung sollte vor Arbeitsbeginn eingeplant werden, um Effizienz und sichere Prüfung zu gewährleisten Zeitpunkte, Methoden und Verantwortliche sollten festgelegt werden (Programmierer, Projektleiter, speziell eingerichtete Organisationseinheit) Die Entwicklung muss auf Randbedingungen abgestimmt werden (wird in Phasen getestet, muss die Software in entkoppelten Modulen programmiert werden)

Prozesse u. Organisation Qualität, Sicherheit und Dokumentation müssen vordefinierte Anforderungen und Standards erfüllen Entwicklungsprozesse sind nötig, um Einhaltung dieser Standards sicher zu stellen (sind organisatorischer Rahmen der Entwicklungsphase) Prüfung findet in Phasen statt, um Komplexität großer Systeme beherrschbar zu machen Unterscheidung: Modultest: Überprüft einzelne Komponenten Integrationstest: Überprüft Interagieren über Schnittstellen Systemtest: Überprüft Funktion, Leistung und Qualität des fertig integrierten Systems

Test- und Prüftechniken 1. Dynamische Testverfahren Setzt Ausführbarkeit des Programms voraus Ausführung mit konkreten Eingabewerten, denen bestimmte, erwartete Ausgabewerte zugeordnet sind  Stichprobenverfahren Ziel der Testtechniken: Erzeugung von Testfällen, die repräsentativ, fehlersensitiv, redundanzarm, ökonomisch sind Fehler können demonstriert werden, ihre Abwesenheit aber nicht bewiesen Universell anwendbar, daher von großer praktischer Bedeutung

Test- und Prüftechniken 2. Statische Analysen Code (statisch) wird noch vor Ausführung des Programms geprüft Erkennt inhaltliche Fehler Entweder durch Entwickler (manuell) oder durch Programm (automatisch) Klassisches Programm: Lint („linten“) erkennt nur funktionale Fehler Neuere Programme erkennen auch qualitative Fehler (z.B. Flawfinder) Besonders wichtig bei älteren Programmiersprachen Oft größtenteils durch Compiler durchgeführt

Dynamische Tests Funktionsorientiert, dynamisch Bewertet die Testvollständigkeit und Korrektheit der Testergebnisse anhand der Spezifikation Wichtigste Verfahren: Äquivalenzklassenbildung Zustandstest Ursache-Wirkungs-Analyse

Dynamische Tests Strukturorientiert, dynamisch Testfälle werden auf Basis des Softwarequellcodes bestimmt Unterschieden werden: Kontrollflussorientierter Test Datenflussorientierter Test

Dynamische Tests Strukturorientierter Test Vollständige Abdeckung der Struktur, aber keine garantierte Abdeckung der Spezifikation. Das Fehlen von Programmcode wird nur zufällig erkannt. Funktionsorientierter Test Vollständige Abdeckung der Spezifikation und aussagefähige Testfälle Aber keine garantierte Vollständigkeit der Abdeckung der Programmstruktur

Werkzeuge Sind zahlreich für die gängigen dynamischen u. statischen Prüfmethoden verfügbar Ziele für die Nutzung: Bereitstellung von Informationen über die Prüfung Durchführung von Messungen Erhöhung der Effizienz  Übernahme einfacher, sich wiederholender oder schwieriger (mathematischer) Tätigkeiten Erzeugen von Prüfprotokollen  dienen als Nachweis gegenüber Auftraggeber oder Prüfbehören