Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Qualitätssicherung von Software

Ähnliche Präsentationen


Präsentation zum Thema: "Qualitätssicherung von Software"—  Präsentation transkript:

1 Qualitätssicherung von Software
Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 1.2 Begriffe

2 Kapitel 1. Einleitung 1.1 Einleitungsbeispiel 1.2 Begriffe
1.3 Software-Qualitätskriterien 1.2 Begriffe

3 System, Komponente, Spezifikation
System = „etwas Zusammengesetztes“; Einheit, die mit anderen Einheiten zusammengearbeitet hat, zusammenarbeitet, oder zusammenarbeiten kann. Menge von Komponenten, die miteinander verbunden sind, um zusammenzuarbeiten Komponente = „etwas Zusammenzusetzendes“; Bestandteil eines Systems Spezifikation = „etwas Sichtbargemachtes“; Beschreibung der Anforderungen, auf die man sich geeinigt hat 1.2 Begriffe

4 Qualität Qualität = Übereinstimmung mit den Anforderungen
„offizielle“ Definitionen: DIN 55350, ISO 8402: „die Gesamtheit von Merkmalen einer Einheit bezüglich ihrer Eignung, festgelegte und abgeleitete Erfordernisse (Qualitätsanforderungen) zu erfüllen“ EN ISO 9000:2005: „Grad, in dem ein Satz inhärenter Merkmale (eines Objekts) (gegebene) Anforderungen erfüllt“ Balzert: „die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen“ 1.2 Begriffe

5 Qualitätsanforderungen und -maße
Der Begriff „Qualität“ ist zunächst wertneutral Qualitätsanforderungen: die Gesamtheit der Einzelanforderungen an eine Einheit, die die Beschaffenheit dieser Einheit betreffen Anforderungen müssen beschrieben sein! Qualitätsmaße: stellen den Grad der Ausprägung eines Qualitätsmerkmals (numerisch) dar z.B. MTBF für Zuverlässigkeit 1.2 Begriffe

6 Qualitätsmerkmale Eigenschaften einer Funktionseinheit, anhand derer die Qualität beschrieben und beurteilt wird Funktionalität, Zweckdienlichkeit, Robustheit, Zuverlässigkeit, Sicherheit, Effizienz, Benutzbarkeit, Verfügbarkeit, Geschwindigkeit, Änderbarkeit, Portierbarkeit, Prüfbarkeit, … kann aus Teilmerkmalen bestehen Hersteller- und Nutzersicht verschiedene Optimierungsfunktionen oft gegensätzliche Optimierungskriterien „die beste Qualität“ gibt es nicht 1.2 Begriffe

7 Mängel und Fehler nicht erwartungskonformes Verhalten oder Beschaffenheit eines Artefaktes wer hat die Erwartungen? („bug or feature?“) nur bezüglich einer Spezifikation (explizit oder implizit) definierbar Abweichung zwischen Ist und Soll, zwischen Implementierung und Spezifikation Fehler: Nichterfüllung einer Anforderung Mangel: nur teilweise Erfüllung 1.2 Begriffe

8 Fehler Übung: Ordnen Sie die folgenden Begriffe
Irrtum, Fehler, Fehlerursache, Fehlverhalten, Fehlzustand, Defekt, Versagen, Ausfall error, failure, fault, bug, defect, mistake 1.2 Begriffe

9 Ursache, Wirkung und Folge
Standardwerk zur Terminologie: J.C. Laprie, A. Avizienis, H. Kopetz: Dependability: Basic Concepts and Terminology. Springer-Verlag (englisch, deutsch, französisch) Irrtum (error) Ursache  Fehlzustand (fault) Wirkung  Ausfall (failure) Folge Ausfall kann Fehlerursache für weiteren Fehler sein! 1.2 Begriffe

10 Fehlerursachen Fehlerursache (cause): direkter oder indirekter Vorgänger in der Wirkfolge ein Fehler hat meist viele Ursachen Fehlerursache = Anerkannte oder angenommene Ursache für einen Fehler. Ereignis, das vermieden oder toleriert werden sollte. Auswirkung des Ausfalls eines anderen Systems, das mit dem betrachteten System zusammengewirkt hat oder zusammenwirkt, auf das betrachtete System letztlich ist jeder Fehler auf das menschliche Unvermögen zurückzuführen, die Gesamtheit aller Wirkzusammenhänge zu verstehen. Beispiel: Materialbruch  Materialforschung Beispiel: Ariane 5  Flugbahneinfluss Irrtum (error), Fehlhandlung (mistake) 1.2 Begriffe

11 Fehlzustände Fehlzustände treten auf, wenn ein System auf Grund äußerer Einflüsse oder selbsttätig in einen ungewollten Zustand übergeht Fehlzustand = Teil des Systemzustands, der dafür verantwortlich ist, dass ein Ausfall auftritt. Offenbarung einer Fehlerursache im System Möglichkeit des Fehlzustands ist immer schon im System vorhanden, der Fehlzustand wird durch den ausführenden Prozess nur aktiviert Beispiel: Division durch 0 in Zeile 739 Beispiel: Bit kippt auf Grund von alpha-Strahlung Fehlzustand (fault), Defekt (defect) 1.2 Begriffe

12 Fehlerauswirkung Fehlverhalten ist die Konsequenz aus einem Fehlzustand. Wenn ein System einen Defekt enthält, führt das meist früher oder später zu einem teilweisen oder totalen Ausfall. Beispiel: kaputtes Zahnrad  Getriebeschaden Beispiel: ungeschützte Gleitpunktkonversion  … Ausfall = Abweichung der erbrachten Leistung von der in der Spezifikation geforderten Leistung. Übergang von korrekter Leistungserbringung zu fehlerhafter Leistungserbringung. Ausfall und Versagen sind weitgehend synonym (failure) Ausfall eher für Komponenten, Versagen eher für Gesamtsysteme Im Sinne der Hierarchie ist der Ausfall einer Komponente die Ursache für das Versagen des Systems 1.2 Begriffe

13 Klassifikation von Fehlern (1)
Intention (Art) zufälliger Fehler = zufällig auftretender oder erzeugter Fehler absichtlicher Fehler = in böswilliger Absicht erzeugter Fehler Idee, phänomenologischer Ursprung physikalischer Fehler = Fehler aufgrund eines physikalischen Phänomens logischer oder systematischer Fehler = auf menschlicher Unzulänglichkeit basierende Fehlerursache, Denkfehler 1.2 Begriffe

14 Klassifikation von Fehlern (2)
Raum externer Fehler = von der Beeinflussung des Systems durch seine physikalische Umgebung oder vom Zusammenwirken mit seiner menschlichen Umgebung hervorgerufene Fehlerursache interner Fehler = Teil des Systemzustandes, der bei Aufruf durch eine Rechenaktivität einen Fehler hervorruft Zeit, Entstehungsphase Betriebsfehler = während der Nutzung des Systems auftretender Fehler Entwurfsfehler, Konstruktionsfehler = während der Entwicklung oder der Modifikation oder der Erstellung der Betriebsprozeduren entstandener Fehler 1.2 Begriffe

15 Klassifikation von Fehlern (3)
Dauer permanente Fehler = Anwesenheit ist nicht von einer punktuellen Bedingung abhängig Temporäre oder transiente Fehler = nur während einer bestimmten Zeit vorhanden Unterscheidung reparierbar oder nicht! temporäre interne Fehler werden auch intermittierende Fehler genannt jeder Fehler kann als permanenter Entwurfsfehler verstanden werden 1.2 Begriffe

16 Klassifikation von Ausfällen
Wert- oder Zeitausfälle verfrüht oder verspätet konsistent oder inkonsistent kritisch oder unkritisch Stillstand oder Livelock Auslassungsausfälle, Totalausfälle 1.2 Begriffe

17 Maßnahmen Definieren Sie: Test, Verifikation, Analyse, Review Test
systematisches Experimentieren mit einem Objekt zur Bestimmung seiner Qualität (Testum = Schmelztiegel) Verifikation Nachweis der Richtigkeit einer Vermutung, Behauptung oder eines Umstandes (veritas facere) Analyse systematisches Auflösen eines Gegenstandes in Einzelbestandteile zur Untersuchung und Auswertung von Eigenschaften (griech. Auflösen) Review Prüfung und Beurteilung eines Schriftstücks durch Fachleute 1.2 Begriffe

18 Probieren = experimentelles Feststellen der Qualität eines Objekts
Experimentieren = Ausführen einzelner Versuche zur Erlangung einer neuen Erkenntnis Probieren = experimentelles Feststellen der Qualität eines Objekts Testen = systematisches Probieren nach verschiedenen Qualitätskriterien Prüfen = Testen einer Serie gleichartiger Objekte 1.2 Begriffe

19 VVTD Validation: Verifikation: Test: Debugging:
Die Software ist richtig! Debugging: Warum ist die Software nicht richtig? Validation: Ist es die richtige Software? Test: Ist die Software richtig? 2. Testverfahren

20 Bleibt noch eine Anekdote…
It has now become a popular tradition that it was the legendary American Naval officer and mathematician Grace Murray Hopper who found the offending insect, but it's also said that she wasn't there when it happened. (Grace was a pioneer in data processing and is credited with developing the first compiler. In 1983, Grace became the first woman to achieve the rank of rear admiral in the United States Navy.) 1.2 Begriffe

21 Kapitel 1. Einleitung 1.1 Einleitungsbeispiel 1.2 Begriffe
1.3 Software-Qualitätskriterien 1.3 Kriterien

22 Qualitätskriterien “Grad der Übereinstimmung mit den Anforderungen”
Für Software funktionale versus nichtfunktionale Anforderungen Wichtigstes Kriterium: Korrektheit Funktionalität Zweckdienlichkeit Robustheit, Zuverlässigkeit, Sicherheit, Effizienz, Benutzbarkeit, Verfügbarkeit, Geschwindigkeit, Änderbarkeit, Portierbarkeit, Prüfbarkeit, 1.2 Begriffe

23 Korrektheit ANSI 72983: „Grad der Übereinstimmung zwischen Spezifikation und Programm“ vgl. Definition von Qualität! ungeeignete Definition (ein wenig schwanger…) Korrektheit bedeutet Abwesenheit von Fehlern Software ist korrekt, wenn sie genau das in der Spezifikation festgelegte funktionale Verhalten zeigt also nicht: Wartbarkeit, Effizienz, Funktionalität, … als Qualitätsmaß schlecht geeignet Üblicherweise sind mehrere verschiedene korrekte Implementierungen einer Spezifikation möglich 1.3 Kriterien

24 Sicherheit „Sicher“ ist sicher ein vielstrapaziertes Wort…
ISO 8402: „Zustand, in dem das Risiko eines Personen- oder Sachschadens auf einen annehmbaren Wert begrenzt ist“ Ein System heißt sicherheitskritisch, wenn es beim Ausfall großen Schaden verursachen kann „großer Schaden“: Der Ausfallverlust übersteigt die regulären Betriebsgewinne um ein Vielfaches „Sicherer Zustand“ ist nicht immer sicher… fail-safe, safe-stop, fail-silent, … 1.3 Kriterien

25 Safety vs Security, vs Lifeness
Security = Informationssicherheit / Geschütztheit Security = Schutz vor böswilligen Schäden Safety = Schutz vor unbeabsichtigten Schäden Formale Definitionen von Sicherheit existieren safety = „nothing bad will ever happen“ liveness = „something good will eventually happen“ 1.3 Kriterien

26 Zuverlässigkeit Zuverlässigkeit (Reliability) ist ein Maß für die Fähigkeit des Systems, funktionstüchtig zu bleiben; Wahrscheinlichkeit, dass das System während einer bestimmten Zeitdauer t nicht versagt Verläßlichkeit: Grad der Vertrauenswürdigkeit in die vom System erbrachte Leistung MTTF: mean time to failure Überlebenswahrscheinlichkeit R(t): Wahrscheinlichkeit, dass das System nach t Zeiteinheiten noch nicht ausgefallen ist 1.3 Kriterien

27 Verläßlichkeit Verläßlichkeit (Dependability) wird oft synonym oder als Erweiterung für Zuverlässigkeit verwendet DIN 40041: Zuverlässigkeit ist die Beschaffenheit bezüglich der Eignung, während oder nach vorgegebenen Zeitspannen bei vorgegebenen Arbeitsbedingungen die Zuverlässigkeits-anforderungen zu erfüllen Teile: Verfügbarkeit, Funktionsfähigkeit, Sicherheit Vertraulichkeit ist Teil der Informationssicherheit 1.3 Kriterien

28 Verfügbarkeit MTBF: mean time between failures; MTTR: mean time to repair Verfügbarkeit (availability) misst die Wahrscheinlichkeit, mit der ein reparierbares System zu einem beliebigen Zeitpunkt funktioniert: MTBF / (MTBF + MTTR) 1.3 Kriterien

29 Robustheit und Fehlertoleranz
Robustheit = Eigenschaft des Systems, auch in ungewöhnlichen (unspezifizierten) Situationen bestmögliche Funktionalität zu erbringen Fehlertoleranz = Eigenschaft des Systems, auch beim Auftreten von bestimmten Fehlern (Fehlzuständen) die geforderte Funktionalität zu erbringen 1.3 Kriterien

30 Kapitel 2. Testverfahren
2.1 Testen im SW-Lebenszyklus 2.2 Modultests 2.3 Integrations- und Systemtests ... 1.2 Begriffe


Herunterladen ppt "Qualitätssicherung von Software"

Ähnliche Präsentationen


Google-Anzeigen