Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 27.1.2006 H. Schlingloff, Software-Engineering II 27.1.2006 Folie 2 Prüfungstermine - Abstimmung • 1. Termin: Woche ab 6.3.2006 • 2. Termin: Woche ab 3.4.2006 • Wochentage: Di, Mi oder Do • Eintrag in Liste bei Frau Heene • Mitteilung per Mail über GOYA H. Schlingloff, Software-Engineering II 27.1.2006 Folie 3 Testplanung Erstellung eines detaillierten Dokumentes für folgende Punkte: Testziele (welche Qualitätskriterien sollen eingehalten werden) Teststufen (in welchen Projektphasen sind welche Aktivitäten auszuführen) Testtypen (welche Tests sollen durchgeführt werden, welche Werkzeuge) Randbedingungen (Hardware / Softwareumgebung) Rollen und Verantwortlichkeiten Meilensteine und Deliverables H. Schlingloff, Software-Engineering II 27.1.2006 Folie 4 Muster eines Testplanes (1) 1. Einführung 1.1 Zielsetzung 1.2 Geltungsbereich 1.3 Definitionen und Abkürzungen 1.4 Referenzen 1.5 Übersicht 2. Teststrategie 2.1 Testtypen 2.1.1 Benutzbarkeitstest 2.1.2 Modultest 2.1.3 Integrationstest auf Komponentenebene 2.1.4 Annahmeprüfung 2.1.5 Systemtest 2.1.6 Abnahme 2.2 Test der einzelnen Releases H. Schlingloff, Software-Engineering II 27.1.2006 Folie 5 Muster eines Testplanes (2) 3. Testtools 3.1 Testumgebung 3.2 Testmanagement und Fehlerverfolgung 3.3 Funktions- und Regressionstest 3.4 Last- und Performancetests 3.5 Organisation 4. Rollen 5. Testumgebungen 5.1 Entwicklungsumgebung 5.2 Systemtestumgebung 5.3 Pre-Productionumgebebung 5.4 Produktionsumgebung H. Schlingloff, Software-Engineering II 27.1.2006 Folie 6 Muster eines Testplanes (3) 6 Verantwortungen und Akzeptanzkriterien 6.1 Modultest 6.2 Integrationstest auf Komponentenebene 6.3 Annahmeprüfung 6.4 Systemtest 6.5 Abnahme 7 Dokumentation 7.1 Testberichte 7.2 Fehlerverwaltung H. Schlingloff, Software-Engineering II 27.1.2006 Folie 7 Rollen im Test Rolle Aufgaben Testleiter Koordinierung Testaktivitäten Zuständigkeit für Ressourcen Erstellung Managementreports abschließende Bewertung der Ergebnisse HXS Testdesigner Identifikation, Implementierung der Testfälle Erstellung des Testplanes Beurteilung der Effizienz des Testaufwandes EKM, RSC Tester Durchführung der Tests Protokollierung u. Bewertung der Ergebnisse MAF, EMM, RSC Testautomatisierer Erstellung von Testskripten Umsetzung der GUI-Map HXS, MAF Testsystemadministrator Installation und Verwaltung des Testsystems Datenbankadministration und –management EKM H. Schlingloff, Software-Engineering II Personen 27.1.2006 Folie 8 Testaufwand • Das Testen erfordert Ressourcen, muss also im Projekt eingeplant werden! Testen, Integration und Dokumentation sind oft die letzten Phasen der Entwicklung. Testphase als Dispositionsmasse für eine falsche Planung ,,Wann ist endlich das Programm x fertig?“ ,,Gleich, ich muss nur noch Testen!“ ,,Gleich, ich muss nur noch einen Fehler bereinigen!“ ,,Gleich, ich muss nur noch dokumentieren!“ • Testplanung wie Projektplanung H. Schlingloff, Software-Engineering II 27.1.2006 Folie 9 H. Schlingloff, Software-Engineering II 27.1.2006 Folie 10 Abschlusskriterien • Wenn Ressourcen oder Zeit erschöpft? (am häufigsten verwendetes Abbruchkriterium) • Wenn keine Fehler mehr gefunden werden? (vielleicht wurde nicht gründlich gesucht?) • Besser: Wenn vorher festgelegte Qualitätsziele erreicht sind! festgelegter Überdeckungsgrad erreicht Restfehlerabschätzung zufriedenstellend Systemabnahme erfolgreich überstanden H. Schlingloff, Software-Engineering II 27.1.2006 Folie 11 Testdurchführung • Viele Werkzeuge zur Unterstützung und zum Management der • • Testdurchführung Integriert in Software-Entwicklungsumgebungen, Planungssoftware, Requirements-Analyse, Verwaltung von Defekten, Evaluation des Projektfortschritts usw. Aufgaben: Erzeugung und Verwaltung des Testplanes Vernetzung mit Requirements und Modulen Erstellung von Testreports und metrischen Evaluationen Import und Export von externen Schnittstellen • Beispiele: Mercury Test Director, QACenter, Rational Test Manager, dSPACE AutomationDesk H. Schlingloff, Software-Engineering II 27.1.2006 Folie 12 H. Schlingloff, Software-Engineering II 27.1.2006 Folie 13 Lebenszyklus von Fehlern • Damit ein Test sinnvoll ist, müssen die Ergebnisse zu • • Konsequenzen führen Verwaltung von „Findings“, werkzeugunterstützt „Lebenszyklus“ von Fehlern; werkzeugabhängig • bekanntestes Werkzeug: Bugzilla (Mozilla Project) H. Schlingloff, Software-Engineering II 27.1.2006 Folie 14 H. Schlingloff, Software-Engineering II 27.1.2006 Folie 15 H. Schlingloff, Software-Engineering II 27.1.2006 Folie 16 Pause! H. Schlingloff, Software-Engineering II 27.1.2006 Folie 17 V&V: Peer Review • Informelle QS-Methode sehr populär, sehr effektiv oft obligatorisch, vollständig! • Ergänzung formaler Methoden Abgleich mit den ursprünglichen Zielen Aufzeigen von inhaltlichen (nichtformalen) Fehlern - z.B. intuitive Bedeutung versus textuelle Gestalt eines Identifiers Verbesserung von Lesbarkeit und Verständlichkeit • Durchführungsmöglichkeiten Code Walkthrough (Fagan) Inspektion H. Schlingloff, Software-Engineering II 27.1.2006 Folie 18 Ziele eines Peer Reviews • Entdeckung von Design- und Analysefehlern in den • • • zu untersuchenden Dokumenten Aufzeigen von Risiken, die den Projektfortschritt beeinträchtigen könnten Lokalisierung von Abweichungen gegenüber externen und internen Vorgaben und Richtlinien Bewertung bzw. Verbesserung der Qualität der Artefakte • Kommunikationsmöglichkeit für die Beteiligten • Datenbasis von Befunden für künftige Projekte H. Schlingloff, Software-Engineering II 27.1.2006 Folie 19 Artefakte für das Review • Jedes Artefakt, welches als Ergebnis eines Entwicklungszyklusses vorliegt, kann per Review bewertet werden: Anforderungsbeschreibung, Vermarktungsplan Entwicklungsplan, Ressourcenverteilung Entwurfsdokumente (Grob/Feinarchitektur) Algorithmen und Datenstrukturen, Code Testpläne, Testergebnisse Manuale, Handbücher, Versions- und Releasedokumente • Wichtig: es muss eine stabile Version des Artefakts vorliegen H. Schlingloff, Software-Engineering II 27.1.2006 Folie 20 Durchführung • • • • • Planung, Einführung in die Thematik, Vorbereitung Präsentation des Dokuments Kommentare des Review-Teams Diskussion der einzelnen Kritikpunkte Ergebnis Audit: Beratung mit Entscheidung über Fortführung, bedingte Fortführung oder Ablehnung (mit Begründung) Peer Review: Eintrag der gefundenen „Issues“ in Defektverfolgungssystem, Protokoll der Sitzung für künftige Projekte H. Schlingloff, Software-Engineering II 27.1.2006 Folie 21 Walkthrough und Inspektion • Walkthrough: „geführtes Vorlesen vor aufmerksamem Publikum“ detaillierte Erklärung durch den Autor keine bzw. minimale Vorbereitung der Reviewer gemeinsames Verständnis als Hauptziel • Inspektion: „Frage- und Antwortstunde“ Vorbereitung von Fragen durch Reviewer (3:1) (anhand Checklisten) Beantwortung durch Autor so weit möglich auch möglich: Autor bekommt Fragen vorher • unabhängige Moderation! H. Schlingloff, Software-Engineering II 27.1.2006 Folie 22