1.2 begriffe qualitätssicherung von software prof. dr. holger schlingloff humboldt-universität zu...

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

Upload: parzival-heiges

Post on 05-Apr-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

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

1.2 Begriffe

Qualitätssicherung von Software

Prof. Dr. Holger Schlingloff

Humboldt-Universität zu Berlinund

Fraunhofer FOKUS

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

Folie 2H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

Kapitel 1. Einleitung

1.1 Einleitungsbeispiel1.2 Begriffe1.3 Software-Qualitätskriterien

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

Folie 3H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 4H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

Qualität

„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“

Qualität = Übereinstimmung mit den Anforderungen

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

Folie 5H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 6H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 7H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 8H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

Fehler

•Übung: Ordnen Sie die folgenden Begriffe Irrtum, Fehler, Fehlerursache,

Fehlverhalten, Fehlzustand, Defekt, Versagen, Ausfall

error, failure, fault, bug, defect, mistake

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

Folie 9H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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!

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

Folie 10H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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)

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

Folie 11H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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)

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

Folie 12H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 13H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 14H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 15H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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 genanntjeder Fehler kann als permanenter Entwurfsfehler verstanden werden

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

Folie 16H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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

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

Folie 17H. Schlingloff, Software-Qualitätssicherung

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

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

Folie 18H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

Prüfen = Testen einer Serie gleichartiger Objekte

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

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

Folie 19H. Schlingloff, Software-Qualitätssicherung 27.10.20042. Testverfahren

Verifikation:Die Software ist richtig!

Debugging:Warum ist die Software

nicht richtig?

Validation: Ist es die richtige Software?

Test:Ist die Software richtig?

VVTD

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

Folie 20H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

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.)

www.history.navy.mil/photos/images/h96000/h96566kc.htm

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

Folie 21H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

Kapitel 1. Einleitung

1.1 Einleitungsbeispiel1.2 Begriffe1.3 Software-Qualitätskriterien

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

Folie 22H. Schlingloff, Software-Qualitätssicherung

Qualitätskriterien

“Grad der Übereinstimmung mit den Anforderungen”

• Für Software

• funktionale versus nichtfunktionale Anforderungen

• Wichtigstes Kriterium: Korrektheit22.10.20041.2 Begriffe

• Funktionalität

• Zweckdienlichkeit• Robustheit, • Zuverlässigkeit, • Sicherheit, • Effizienz, • Benutzbarkeit,

• Verfügbarkeit, • Geschwindigkeit, • Änderbarkeit, • Portierbarkeit, • Prüfbarkeit, • …

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

Folie 23H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

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

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

Folie 24H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

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, …

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

Folie 25H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

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“

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

Folie 26H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

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

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

Folie 27H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

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

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

Folie 28H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

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)

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

Folie 29H. Schlingloff, Software-Qualitätssicherung1.3 Kriterien

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

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

Folie 30H. Schlingloff, Software-Qualitätssicherung1.2 Begriffe

Kapitel 2. Testverfahren

2.1 Testen im SW-Lebenszyklus2.2 Modultests2.3 Integrations- und Systemtests...