Walkthrough - Institut für Informatik

Werbung
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
Herunterladen