Software-Engineering



Ähnliche Dokumente
Qualitätssicherung. Was ist Qualität?

Softwaretechnik 1 Tutorium

Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop

Whitebox-Tests: Allgemeines

Software- Qualitätsmanagement

Einführung und Motivation

FUTURE NETWORK REQUIREMENTS ENGINEERING

Fragebogen ISONORM 9241/110-S

Softwaretechnikpraktikum SS Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Klausur Software-Engineering SS 2005 Iwanowski

Validierung und Verifikation!

SWE12 Übungen Software-Engineering

Software Engineering in der Praxis

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO

Erster Bug: eine Motte

WollCo Wolfgang Kohl Consulting. Nachhaltige Projektumsetzung nicht nur in der Verantwortung von Geschäftsführen / Unternehmern

Probeklausur Softwareengineering SS 15

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Qualitätsmanagement. Grundlagen

Qualitätsmanagement im Projekt

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Gesicherte Prozeduren

1 Mathematische Grundlagen

Wir machen neue Politik für Baden-Württemberg

Fragebogen: Abschlussbefragung

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Was meinen die Leute eigentlich mit: Grexit?

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

GPP Projekte gemeinsam zum Erfolg führen

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Software-Engineering

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

PRÜFMODUL D UND CD. 1 Zweck. 2 Durchführung. 2.1 Allgemeines. 2.2 Antrag

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Stapelverarbeitung Teil 1

Software Engineering II (IB) Testen von Software / Modultests

Softwaretechnik. Fomuso Ekellem WS 2011/12

Software-Engineering

Anmerkungen zur Übergangsprüfung

Requirements Engineering für IT Systeme

Klausur Software-Engineering WS 2006 / 2007 Iwanowski

Die Post hat eine Umfrage gemacht

Professionelle Seminare im Bereich MS-Office

BUILDNOTES TOPAL FINANZBUCHHALTUNG

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Ziel- und Qualitätsorientierung. Fortbildung für die Begutachtung in Verbindung mit dem Gesamtplanverfahren nach 58 SGB XII

Erfahrungen mit Hartz IV- Empfängern

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

D.3.3. Betriebsleitfaden zur Zuweisung/Vergabe von ECVET Krediten. EUCoopC. PROJEKT Nr.: LLP IT-LEONARDO-LMP

Testen Prinzipien und Methoden

Recherche nach Stellenanzeigen in Zeitungen

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Informationssystemanalyse Grundlagen 1 1

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Zeichen bei Zahlen entschlüsseln

1 topologisches Sortieren

,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!

16 Architekturentwurf Einführung und Überblick

Internet Explorer Version 6

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell

6 Systematisches Testen von Programmen

Professionelle Seminare im Bereich MS-Office

Summenbildung in Bauteiltabellen mit If Then Abfrage

WIE WIRKLICH IST DIE WIRKLICHKEIT WIE SCHNELL WERDEN SMART GRIDS WIRKLICH BENÖTIGT? DI Dr.techn. Thomas Karl Schuster Wien Energie Stromnetz GmbH

Schnittstelle DIGI-Zeiterfassung

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihr vorhandenes PMS-System mit der IAC-BOX verbinden und konfigurieren.

Führung im Callcenter. und warum in Callcentern manch moderner Führungsansatz scheitert

Some Software Engineering Principles

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Portfolio: "Die Ratten" von Gerhart Hauptmann

Was versteht man unter Softwarequalität?

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

lohmeyer White Paper Use Cases II UX+Prozessanalyse

GEVITAS Farben-Reaktionstest

Programmiertechnik II

Es gibt zwei Wege die elektronischen Daten aus Navision zu exportieren.

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Änderungen beim Einlagensicherungsfonds

Erwin Grüner

WS 2009/10. Diskrete Strukturen

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS. Abb. 1: Programmfenster. Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter

2. Psychologische Fragen. Nicht genannt.

Transkript:

SWE8 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 8: Qualitätsmanagement

SWE8 Slide 2 Qualitätsmanagement Qualitätskriterium: Korrektheit Korrektheit bedeutet: Übereinstimmung zwischen funktioneller Spezifikation und Programmfunktionalität Nachweis der Korrektheit: durch Programmverifikation oder durch systematische Tests Korrektheitsbeweise mit Programmverifikation nur für kleine Teilalgorithmen möglich Vollständige Tests aller Programmzustände zu aufwändig Mathematische Korrektheit kann nicht bewiesen werden In der Praxis akzeptierte Korrektheit immer noch schwierig

SWE8 Slide 3 Was ist eigentlich Qualität? Software-Qualität bedeutet: Nach DIN 55 350: Qualitätsmanagement "Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf die Eignung zur Erfüllung gegebener Erfordernisse beziehen" Das bedeutet für die Praxis: SW-Qualität ist mehr als Korrektheit SW-Qualität ist kein exakt definierter Begriff SW-Qualität ist nicht exakt messbar SW-Qualität wird anhand von verschiedenen Kriterien charakterisiert SW-Qualität ist relativ

SWE8 Slide 4 Qualitätsmanagement Verschiedene Qualitätskriterien: Korrektheit Effizienz Robustheit Verfügbarkeit Zuverlässigkeit Sicherheit Bedienungsfreundlichkeit Verständlichkeit Prüfbarkeit Änderbarkeit Wiederverwendbarkeit (Portabilität)

SWE8 Slide 5 Qualitätsmanagement Qualität ist nicht das Maß aller Dinge! Qualität + + Umfang der Aufgabenstellung Produktivität - - ++ - - Entwicklungsdauer Entwicklungskosten

SWE8 Slide 6 Qualitätsmanagement Richtlinien zur Herstellung von allgemeinen Produkten Die Qualität eines Produkts hängt maßgeblich von der Qualität seines Herstellungsprozesses ab. Insbesondere sollten alle Herstellungsvorgänge zurückverfolgt werden können. Für jeden Teilprozess muss es einen Verantwortlichen geben. Herstellungsprozess ist nach ISO 9000 und ISO 9001 (organisatorischer Rahmen) genormt. Die Einhaltung der Norm kann durch Zertifizierungsagentur bescheinigt werden.

Qualitätsmanagement Übertragung der allgemeinen Richtlinien auf Software Für Software gibt es die Teilnorm ISO 9000-3. Zertifiziert wird der Herstellungsprozess, NICHT die Qualität des Endprodukts. Das hat dann z.b. folgende Auswirkungen: Vorlesung Software Engineering für große, betriebliche Informationssysteme, 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 SWE8 Slide 7

SWE8 Slide 8 Effizienz Kriterien für SW-Qualität Effizienz ist bestimmt durch Verbrauch von Betriebsmitteln Unterschiedene Betriebsmittel bei SW: Speicherplatz, Laufzeit Robustheit Robustheit wird bestimmt durch die Reaktion des Programms bei beliebiger Kommunikation mit der Umgebung insbesondere zu vermeiden: undefinierte Systemzustände und "Systemabstürze" wird beim Programmieren erreicht durch Abfangen aller möglichen Benutzereingaben Es reicht dir Beseitigung der Fehlersymptome, nicht der Ursachen

SWE8 Slide 9 Verfügbarkeit Kriterien für SW-Qualität Verfügbarkeit wird gemessen als Wahrscheinlichkeit, dass ein System zu einem gegebenen Zeitpunkt funktionsfähig ist. Zuverlässigkeit Zuverlässigkeit ergibt sich aus Korrektheit, Robustheit und Verfügbarkeit. Zuverlässigkeit wird gemessen als Wahrscheinlichkeit, dass ein System seine Funktion während eines Zeitintervalls korrekt erfüllt. Zuverlässigkeit berücksichtigt Reparaturzeiten und Schwere der Fehler. Die geforderte Zuverlässigkeit wird üblicherweise in der Spezifikation festgelegt.

SWE8 Slide 10 Sicherheit Kriterien für SW-Qualität Sicherheit ist der Schutz gegen unerwünschte bzw. unerlaubte Verfälschung, Zerstörung oder Preisgabe von Daten. Sicherheit ist ein schwieriges Problem wegen der zunehmenden Dezentralisierung und Vernetzung. Sicherheit bezieht sich auch auf unbeabsichtigte Datenverluste, z.b. durch Stromausfall und Systemabsturz.

SWE8 Slide 11 Bedienungsfreundlichkeit Kriterien für SW-Qualität Geforderte Merkmale der Bedienungsfreundlichkeit (nach DIN 66234, Teil 8 und DIN EN ISO 9241): Aufgabenangemessenheit Selbstbeschreibungsfähigkeit Steuerbarkeit Erwartungskomformität Fehlerrobustheit (bei der Eingabe) wird ausführlich behandelt in der Vorlesung SW-Ergonomie

SWE8 Slide 12 Verständlichkeit Kriterien für SW-Qualität Maß für den Aufwand, ein (fremdes) Software-Produkt zu verstehen Verständlichkeit ist kein Selbstzweck, sondern erleichtert die Prüfbarkeit und Änderbarkeit. Prüfbarkeit Möglichkeiten zum Testen eines Programms hinsichtlich Korrektheit, Robustheit und Zuverlässigkeit. Prüfbarkeit ist wesentlich abhängig von Modularität und Strukturierung. Änderbarkeit Möglichkeiten zur Anpassung von Software an veränderte Einsatzbedingungen und Anforderungen Die Änderbarkeit sollte bereits bei Software-Entwicklung berücksichtigt werden. Änderbarkeit ist wesentlich abhängig von Modularität und wird durch das objektorientierte Konzept der Vererbung besonders unterstützt.

SWE8 Slide 13 Kriterien für SW-Qualität Wiederverwendbarkeit Aufbau von Software-Bibliotheken und Nutzung objektorientierter Konzepte Wiederverwendbarkeit ist in erster Linie Qualitätskriterium für den Softwareentwickler Ziel: Senkung von Entwicklungskosten Wiederverwendbare Software verlängert die Lebensdauer derselben. Dadurch wird die Software besser gepflegt auch Anwendernutzen

SWE8 Slide 14 Kriterien für SW-Qualität Manche Qualitätskriterien sind gegensätzlich Effizienz Portierbarkeit + + Qualität - - ++ - - Änderbarkeit Prüfbarkeit

SWE8 Slide 15 Maßnahmen zur Qualitätssicherung Statische Verfahren Inspektion des Codes Dynamische Verfahren Test durch Programmausführung Manuelle Prüfmethoden Blackbox-Verfahren Theoretische Verifikation Whitebox-Verfahren Komplexitätsanalyse Die folgenden Details werden am Beispiel des Qualitätskriteriums Korrektheit ausgeführt

SWE8 Slide 16 Manuelle Prüfmethoden Bsp.: Reviews Durchführung in einem Team von ca. 4 Personen: - Programmersteller - Moderator - Programmspezialist - Testspezialist Durchführung: - Programmierer erläutert die Programmlogik Anweisung für Anweisung - Teammitglieder stellen Fragen u. identifizieren Fehler Formale Form des Reviews: Inspektion Informelle Form des Reviews: Walkthrough

SWE8 Slide 17 Dynamische Verfahren Ausführung der Software mit Testdaten Auswahl von Testfällen Stichprobenartige Auswahl von Testdaten Möglichst realistische Testumgebung Unterscheide: Testfall: eine aus der Spezifikation oder dem Programm abgeleitete Menge von Eingabedaten zusammen mit den zugehörigen erwarteten Ergebnissen Testdaten: Teilmenge der Eingabedaten der Testfälle, mit denen das Programm tatsächlich ausgeführt wird

SWE8 Slide 18 Dynamische Verfahren Grundsätzlicher Verfahrensunterschied: Blackbox-Test Ableitung der Testfälle aus der Spezifikation des Systems Innere Struktur des Programms wird nicht beachtet. Whitebox-Test Ableitung der Testfälle aus der Struktur des Programms Es wird angestrebt, möglichst alle Programmstrukturen zu durchlaufen (kontrollflussbezogenes Verfahren). Es wird angestrebt, möglichst alle Datenklassen zu testen, zwischen denen das Programm unterschiedet (datenflussbezogenes Verfahren).

SWE8 Slide 19 Blackbox-Test Bestimmung der Testfälle: Bildung "funktionaler Äquivalenzklassen": Eingabe- und Ausgabemengen, die jeweils zu einer (Teil-) Funktionalität gehören Alle Werte einer Äquivalenzklasse verursachen ein identisches funktionales Verhalten eines Programms Auswahl von Testdaten aus den Äquivalenzklassen: Zufällig Test spezieller Werte Grenzwertanalyse (primär Grenzbereiche der Eingabemengen als Testdaten)

Whitebox-Test Kontrollflussbezogene Verfahren Darstellung der Programmteile im Kontrollflussgraphen: Anweisungen (Anweisungsblöcke) als Knoten des Graphen Kontrollfluss als gerichtete Kanten zwischen Knoten x :=... ; y :=... ; IF (x > 5) AND (y < 2) THEN y := f(x,2) ELSE y := g(x,3); z :=... Überdeckung aller Kontrollstrukturen durch Testfälle: Gezieltes Durchlaufen (von Teilen) der Kontrollstrukturen durch geeignete Gestaltung der Testfälle Angestrebten/erreichten Überdeckungsgrad in Prozent angegeben Anm.: 100 % sind unrealistisch! SWE8 Slide 20 x :=... ; y :=... y := f(x,2) y := g(x,3) z :=...

SWE8 Slide 21 Whitebox-Test Kontrollflussbezogene Verfahren Anweisungsüberdeckung: Alle Anweisungen werden mindestens einmal ausgeführt. Zweigüberdeckung: Alle Verzeigungen im Kontrollfluss werden mindestens einmal verfolgt. Bedingungsüberdeckung: Alle booleschen Wertekonstellationen von (Teil-) Bedingungen werden einmal berücksichtigt. Pfadüberdeckung: Durchlaufen aller Pfade von Start- zum Endknoten: Das ist außer bei sehr kleinen Programmen nur theoretisch möglich.

SWE8 Slide 22 Whitebox-Test Datenflussbezogene Verfahren (Bsp.: defs/uses-verfahren) Erweiterung der Kontrollflussgraphen um Datenflüsse Unterscheidung verschiedener Typen von Variablenzugriffen: - in Zuweisungen für die zugewiesene Variable (def) - in Wertausdrücken für ausgewertete Variable (c-use) - in Bedingungen für ausgewertete Variable (p-use) x :=... ; y :=... def (x), def (y) x :=... ; y :=... ; IF (x > 5) AND (y < 2) THEN y := f(x,2) ELSE y := g(x,3); z :=... def (y), c-use (x) IF (x>5) AND (y<2) y := f(x,2) z :=... y := g(x,3) def (z) p-use (x), p-use (y) def (y), c-use (x)

Whitebox-Test Datenflussbezogene Verfahren (Bsp.: defs/uses-verfahren) x :=... ; y :=... def (x), def (y) IF (x>5) AND (y<2) p-use (x), p-use (y) def (y), c-use (x) y := f(x,2) y := g(x,3) def (y), c-use (x) z :=... def (z) Betrachte definitionsfreie Pfade : Bis wohin wirkt sich die Zuweisung einer Variablen aus? Unterscheidung verschiedener Typen von Datenflussüberdeckungen: - all defs: Jede Definition wird mindestens einmal benutzt - all p-uses: Jede Kombination Definition / p-use wird getestet - all c-use: Jede Kombination Definition / c-use wird getestet SWE8 Slide 23

SWE8 Slide 24 Whiteboxtest von größeren Programmen Die vorgestellten Verfahren sind nur bei kleinen Programmen durchführbar. Größere Programme sind ohnehin modular aufgebaut => sie bestehen aus vielen kleinen Programmen. Teste die Module einzeln! (wird meistens bereits bei der Implementierung gemacht) Außerdem müssen die Modulverbindungen getestet werden: - Von übergeordneten Programmen aus: Simulation der untergeordneten Module durch so genannte Stub-Module - Von untergeordneten Modulen aus: Simulation der Einbettung durch so genannte Treiberprogramme

PTAR: Problem Tracking and Reporting Standardisierung eines dokumentierten Problems wie überall, wo Menschen miteinander arbeiten: Motivation durch gegenseitige Anerkennung Ich habe dir einen PTAR geschickt vs. Du hast einen Fehler gemacht PTAR Vorlesung Software Engineering für große, betriebliche Informationssysteme, 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 SWE8 Slide 25