220 likes | 335 Views
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. Prüfungstermine - Abstimmung. 1. Termin: Woche ab 6.3.2006
E N D
Software-Engineering IIEingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
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
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
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
Muster eines Testplanes (2) 3. Testtools 3.1 Testumgebung 3.2 Testmanagement und Fehlerverfolgung 3.3 Funktions- und Regressionstest 3.4Last- und Performancetests 3.5 Organisation 4. Rollen 5. Testumgebungen 5.1 Entwicklungsumgebung 5.2 Systemtestumgebung 5.3 Pre-Productionumgebebung 5.4 Produktionsumgebung
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
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
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
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
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)
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
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
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
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
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!