Qualitätssicherung 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

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.
Phasen und ihre Workflows
1 Workshop: Grundlagen des IT-Projektmanagements - Version /2004Modul: Aufwand – Ergänzung FP Copyright: Dr. Klaus Röber Modul Ergänzungen zur.
Strukturfunktionsgenerierung
Modellbasierte Software-Entwicklung eingebetteter Systeme
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software (SWQS)
3. Sitzung: Recherche von Qualitätskriterien
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Qualitätssicherung von Software
Modellbasierte Software-Entwicklung eingebetteter Systeme
Qualitätssicherung von Software
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff
On a Buzzword: Hierachical Structure David Parnas.
LE LM 8 - LO 3 Prozessnormen und Normen zu QM-Systemen
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Prüfung von Simulationsprogrammen – Integrations- und Funktionstests Inhalt Vom Einzeltest.
Software „Unter Software versteht man die Gesamtheit oder auch einen Teil der Programme für Rechensysteme. Diese Programme ermöglichen zusammen mit den.
Was ist und wie prüft man Qualität
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.
Funktionalität Vorhandensein vor Funktionen mit festgelegten Eigenschaften. Diese Funktionen erfüllen die definierten Anforderungen. Richtigkeit - Liefern.
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.
Qualität von Software Qualität ist nicht messbar, sondern nur über die Erfüllung von Anforderungen zu definieren Die Erfüllung von Anforderungen ist oft.
Definition Qualitätsaudit
Qualitätsmanagement-Handbuch
Algorithmentheorie 04 –Hashing
Testen, Analysieren und Verifizieren von Software
Kapitel 5 Stetigkeit.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Studiengang Mechatronik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 2. Quartal.
WAS WILL WISSENSCHAFT? - Sagen: Was WIE ist
Christian Schindelhauer
Eigenschaften der OLS-Schätzer
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Software Engineering SS 2009
Rationales Entscheiden
GIS - Seminar Wintersemester 2000/2001
Auslegung eines Vorschubantriebes
5 Software-Qualität 5.1 Qualität 5.2 Taxonomie der Software-Qualitäten.
Modellbildung und Simulation
Seminar Wien Einführung.
Qualitätssicherung in der Jugendhilfe Wer sichert was und für wen?
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Qualität ? ? was ist das??? ? Kai - Uwe Güteklasse A
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 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.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Qualitätsmanagement nach ISO 9001:2000 in der Zahnarztpraxis
Vs61 6 Fehlertoleranz. vs62 Zuverlässigkeit (reliability) Sicherheit vor FehlernSicherheit vor Angriffen (safety)(security) WS/SS xySystemsicherheit SS.
Semesterprojekt Präsentation Thema 1 Test-Arten
Formale Methoden Semesterprojekt Präsentation Thema 1 Test-Arten Fernstudium Master WI, MWI 10F Jan te Kock,
Präsentation FAKULTÄT FÜR WIRTSCHAFTSWISSENSCHAFTEN Ulf Kersten Hannover, Formale Methoden Software-Qualität und Projektmanagement.
 Präsentation transkript:

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

Kapitel 1. Einleitung 1.1 Einleitungsbeispiel 1.2 Begriffe 1.3 Software-Qualitätskriterien 1.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 1.2 Begriffe

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

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

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

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

Fehler Übung: Ordnen Sie die folgenden Begriffe Irrtum, Fehler, Fehlerursache, Fehlverhalten, Fehlzustand, Defekt, Versagen, Ausfall error, failure, fault, bug, defect, mistake 1.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! 1.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) 1.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) 1.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 1.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 1.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 1.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 genannt jeder Fehler kann als permanenter Entwurfsfehler verstanden werden 1.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 1.2 Begriffe

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

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

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 27.10.2004

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 1.2 Begriffe

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

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 22.10.2004

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

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

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

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

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

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

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

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