10. Test, Einführung, Qualitätsmanagement Softwaretechnik (CNAM) Wintersemester 2011 / 2012 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Einordnung in den gesamten Kurs 1. Einführung 2. Analyse: Anforderungen und Anwendungsfälle 3. Analyse: Datenmodell 4. Analyse: Dialoge 5. Design: Architektur-Grundlagen 6. Design: Referenzarchitektur betriebliche Informationssysteme 7. Design: Querschnittsthemen und Muster 8. Programmierung 9. Test, Einführung, Qualitätsmanagement 10.Projektmanagement 11.Vorgehensmodelle 2 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Agenda Motivation Test Einführung Qualitätsmanagement Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
What happened to Ariane 5? The Ariane 5 launch vehicle failed on its maiden flight in June 1996. About 40 seconds after liftoff, a software bug in the flight controller made the rocket veer off course, leading to its destruction via ground command. Ariane 5 reused software from Ariane 4 without proper testing. Contributing to the mishap, run-time range checking had been turned off because of processor limitations. Also, the backup channel had failed milliseconds earlier because of the same coding defect. (Photo courtesy of European Space Agency; Ada code from http://www-aix.gsi.de/~giese/swr/ariane5.html) 4 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Fehlerbehebungskosten Quelle: van Megen: Dagstuhl-Seminar 02361(Sept. 2002) Supporting Customer-Supplier Relationships. Requirements Engineering and Quality Assurance SQS-Zahlen aus 3.000 IT-Projekten 48.000 > 90.000 12.000 1.000 4.000 Req. Spec. Impl. Accept. Roll out Feldeinsatz 5 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Agenda Motivation Test Test Einführung Qualitätsmanagement Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Warum wird so wenig getestet? Den Wert des Testens begreift man erst mit Erfahrung (aus Schaden wird man klug) Gründe nicht zu testen: Kann auch später gemacht werden Das bezahlt keiner Keine Zeit Keine Leute Testen ist kein Selbstzweck, sondern muss sorgfältig abgewogen werden: Testkosten versus Risiko Kosten für das Testen Risiko = Wahrscheinlichkeit * Schaden 7 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Edsger W. Dijkstra (1930 2002)»Program testing can be used to show the presence of bugs but never to show their absence!«dijkstra (1972) Die Korrektheit eines Programms kann i. A. nicht bewiesen werden. Das Vertrauen in ein Programm hängt ab von der Auswahl repräsentativer Testfälle, von der Überprüfung von Grenzwerten, von Testfällen mit guter Überdeckung und vielen anderen Randbedingungen ab, aber es gibt keine Gewissheit. 8 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Anzahl Fehler als Qualitätsmaß? Die Anzahl der gefundenen Fehler ist kein Maß für die Qualität der Software Low Many Faults Software Quality High Few Faults You think you are here High Few Faults Test Quality Few Faults You may be here Low Quelle: D. Graham, M. Fewster: Testing Essentials - Testing Principles. TEST Congress, London, 2000 9 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Testprozess: Bewusste Trennung der Testphasen Testanalyse: Testbasis prüfen Testobjekte identifizieren Teststrategie festlegen Beginn Planung und Analyse Testdesign Testideen skizzieren Testideen priorisieren Review der Testideen auf Vollständigkeit Testrealisierung Zuordnung der Testideen zu Teststufen Testfälle beschreiben und ggf. automatisieren Testdaten erstellen Testumgebungen aufbauen abgeleitet aus Spillner, A., Linz, T.: Basiswissen Softwaretest - Aus- und Weiterbildung zum Certified Tester dpunkt, 3. Auflage, 2005 (Kapitel 2.2) Design Realisierung Durchführung Auswertung und Bericht Abschluss 10 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012 Ende Steuerung
Testspezifikationen sind Voraussetzung Anforderungsanalyse Design / Implementierung Integration / Test Präsentation Dialog Batch Anwendungskern DB-Zugriff Nachbarsystemschnittstellen Querschnittsfunktionen Installiertes System IT-Konzept/Code 1 1 1 1 Spezifikation Testspezifikation und Abnahmekritierien 11 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Testfälle erstellen: Aus Anwendungsfällen (Use Cases) ableiten; Destruktiv testen! sd Anmelden uc Kundenverwaltung Fitnesscenter anmelden Sachbearbeiter legekundenan gibkundendatenan Fitness Center::Kunde Kunde abmelden Kundenbetreuer legevertragan gibvertragsdetailsan Fitness Center::Vertrag schliessevertragab einchecken druckevertrag auschecken erstellerechnung Fitness Center::Rechnung Testfälle Vertragsdetails Vertrag zu Neukunden, Vertrag zu Bestandskunden, Vertrag mit nicht existierendem Kunden ( Fehler) Alle Vertragsarten, falsche Vertragsart ( Fehler) Unmögliches Datum ( Fehler) 12 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Was muss getestet werden? gemäß FURPS-Modell (nach ISO/IEC 9126): Functonality (Funktionalität) Usability (Benutzbarkeit) Reliability (Zuverlässigkeit) Performance (Leistung) Supportability (Wartbarkeit) 13 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Zustandsmodell für Fehler Initial gemeldet (offen) melden (Tester) klassifizieren (Test Manager) klassifiziert Entwickler zuweisen (Projektleiter) zugew iesen beheben (Entwickler) behoben nachtesten (Tester) [nicht behoben] [behoben] nachtestet (geschlossen) 14 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Kriterien für Fehlerklassifikation kritisch kompletter Ausfall der Produktion bzw. Aufgabe nicht erfüllbar hoch deutliche Beeinträchtigung der Produktion, Leistung herabgesetzt mittel Verhinderung der vollen Ausnutzung von Programmfähigkeit, aber mit Kompensationsmöglichkeiten niedrig geringe oder "kosmetische" Probleme, Leistung bleibt erhalten unproblematisch nicht notwenige Softwareverbesserung 15 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Aktives Testmanagement: Verfolgung der Fehlersuche und -behebung #Fehler (1) Gemeldet und klassifiziert Einführungsentscheidung (2) behoben (3) nachgetestet t 16 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Teststufen: Wer testet was wann? Teststufen Systembestandteile Tester Modultest Modul-1 Modul-2 Modul-3 Entwickler Integrationstest Systemtest Abnahmetest Subsystem Subsystem Subsystem Subsystem Subsystem Subsystem Gesamtsystem Gesamtsystem + Nachbarn: test Gesamtsystem + Nachbarn: live IT-Team und Fachbereich Auftraggeber 17 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Agenda Motivation Test Einführung Qualitätsmanagement Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Einführung: Woran ist alles zu denken? Sind die wichtigsten Tests fehlerfrei gelaufen (keine einführungsverhindernden Fehler mehr)? Ist die Produktionsumgebung technisch bereit? Sind alle notwendigen Daten vom alten in das neue System migriert? Sind die Anwender geschult? Sind weitere organisatorische Maßnahmen im Fachbereich getroffen, zum Beispiel temporäre Aushilfen? Ist die Betriebsmannschaft mit dem neuen System vertraut? Gibt das Management das OK zur Einführung? Dann kann s losgehen! 19 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Agenda Motivation Test Einführung Qualitätsmanagement Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Die Aufgaben des Qualitätsbeauftragten Qualitäts/ ziele Ziele erfragen, festlegen und abstimmen QM-Maßnahmen planen, und kontrollieren Qualitätsanalyse Qualitätsmanagement Qualitätsplanung Durch Prozesse, Ausbildung, Werkzeuge, Checklisten, Vorlagen etc. Qualität konstruktiv sicherstellen Durch Dokument- / Codereviews, Tests Qualität analytisch prüfen Qualitätsprüfung Qualitätslenkung Kommunizieren 21 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Qualitätsmanagement ist ein permanenter Prozess (nach ISO 9000:2000) Ständige Verbesserung des Qualitätsmanagementsystems Kunden (und andere interessierte Parteien) Management von Ressourcen Verantwortung der Leitung Messung, Analyse und Verbesserung Kunden (und andere interessierte Parteien) Zufriedenheit Anforderungen Eingabe Produkt-realisierung Produkt Ergebnis Wertschöpfung Information 22 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Effektives QM erfordert eine Qualitätskultur Von der Qualitätskontrolle (Spezialisten) Separate QM- Abteilung Qualitätseinhaltung Produktorientiertes QM Endkontrolle QM-Bürokratie Eingeplante Nacharbeit Qualitätskontrolleure Fehlerentdeckungsstrategie Qualitätsspezifikation Prozessorientierung Kundenorientierung Mitarbeiterorientierung zum umfassenden Qualitätsmanagement 23 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Agenda Motivation Test Einführung Qualitätsmanagement Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
Kontrollfragen Warum ist Testen wichtig? Wie viel Testaufwand ist sinnvoll? Wie findet man Testfälle? Welche Teststufen werden unterschieden? Wer testet dabei was? Auf welcher Basis wird die Entscheidung zur Einführung gefällt? Worauf ist bei der Einführung zu achten? Qualitätsmanagement: Wie erreicht man eine permanente Qualitätsverbesserung im Unternehmen? 25 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012