Testmanagement für Softwaretest - Ibrahim Kessba
Testmanagement für Softwaretest - Ibrahim Kessba
Testmanagement für Softwaretest - Ibrahim Kessba
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
<strong>Ibrahim</strong> <strong>Kessba</strong>, Markus Pomrehn<br />
Albert-Ludwigs-Universität Freiburg<br />
Software Engineering<br />
Februar 18, 2013<br />
1 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Testorganisation<br />
Teststrategie und Verwaltung<br />
Schlussbemerkung<br />
2 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Einleitung<br />
Testorganisation<br />
Teststrategie und Verwaltung<br />
Schlussbemerkung<br />
3 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Agenda<br />
Agenda<br />
Organisation<br />
Herausforderung Planen<br />
<strong>Testmanagement</strong><br />
Teststrategie<br />
Testarbeiten Fehlermanagement<br />
4 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Definition<br />
Was ist <strong>Testmanagement</strong> ?<br />
◮ Sicherstellung der Softwarequalität<br />
◮ Ressourcen Organisation und Anwendung<br />
◮ Planen, Entwicklung und Überwachung <strong>für</strong> Projekttests<br />
5 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Definition<br />
Tools<br />
Traditionell<br />
◮ Stift und papier<br />
◮ Word processors<br />
◮ Spreadsheets<br />
6 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Definition<br />
Tools<br />
Traditionell<br />
◮ Stift und papier<br />
◮ Word processors<br />
◮ Spreadsheets<br />
Aktuelle<br />
◮ IBM R○Rational R○ClearQuest R○Test Manager<br />
◮ Mercury TestDirector<br />
6 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Herausforderungen<br />
Herausforderungen<br />
◮ Nicht genug Zeit, um zu testen<br />
◮ Nicht genügend Ressourcen, um zu testen<br />
◮ Richtig Informationen berichten<br />
◮ Sync. mit Entwicklungsprozess<br />
7 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Herausforderungen<br />
Warum, Was, Wo, Wann, Wie<br />
8 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Herausforderungen<br />
Warum, Was, Wo, Wann, Wie<br />
sollte ich testen ?<br />
8 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Einleitung<br />
Herausforderungen<br />
“If you fail to plan, you are planning to fail!”<br />
— Benjamin Franklin<br />
9 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Testorganisation<br />
Einleitung<br />
Testorganisation<br />
Teststrategie und Verwaltung<br />
Schlussbemerkung<br />
10 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Testorganisation<br />
Prioritätsklassen<br />
Prioritätsklassen<br />
Definition<br />
Ziel<br />
◮ Kategorisieren der Testfälle in Bezug auf Dringlichkeit,<br />
Wichtigkeit und Kritikalität<br />
◮ Testprotokolle mit dem Testplan ausgerichtet<br />
◮ Eine klare Definition <strong>für</strong> jeden Testfall<br />
◮ Eindeutiges Start-und Enddatum <strong>für</strong> jeden Testfall<br />
◮ leicht zu entscheiden, welche Testfälle im Falle von<br />
Ressourcenknappheit verschoben werden<br />
11 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Testorganisation<br />
Testplanung<br />
Tipps <strong>für</strong> die Planung<br />
◮ So früh wie möglich beginnen<br />
◮ Testkonzepte und Pläne sollten mit dem Projektfortschritt<br />
aktualisiert werden<br />
Vorteil<br />
◮ Man findet den Fehler bzw. bugs früher<br />
◮ Gutes Management von Aufwand und Ressourcen<br />
12 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Testorganisation<br />
Testplanung<br />
Richtlinien <strong>für</strong> die Organisation der Testfälle<br />
◮ Benutzbarkeit<br />
◮ Risiken von Fehlern<br />
◮ Auswirkungen, wenn Fehler ignoriert werden<br />
◮ Qualitätsmessungen im Projekte<br />
◮ Intensive Tests <strong>für</strong> einige der System-Architekturen und<br />
Komponenten<br />
13 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Testorganisation<br />
Tester - Team<br />
Tester vs Entwickler<br />
14 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Testorganisation<br />
Tester - Team<br />
Organisation<br />
Herausforderung Planen<br />
<strong>Testmanagement</strong><br />
Teststrategie<br />
Testarbeiten Fehlermanagement<br />
15 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Einleitung<br />
Testorganisation<br />
Teststrategie und Verwaltung<br />
Schlussbemerkung<br />
16 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Vorbeugender vs. reaktiver Ansatz<br />
Vorbeugender vs. reaktiver Ansatz<br />
Vorbeugender Ansatz<br />
◮ Tester werden von Projekt beginn an involviert<br />
◮ Testen beginnt frühst möglich<br />
Reaktiver Ansatz<br />
◮ Testplanung und Entwurf beginnen erst nach Fertigstellung<br />
der Software<br />
Wann immer möglich sollte ein vorbeugender Ansatz gewählt<br />
werden!<br />
17 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Analytischer vs. heuristischer Ansatz<br />
Analytischer vs. heuristischer Ansatz<br />
Analytischer Ansatz<br />
◮ Die Testplanung stützt sich auf Daten und deren Analyse<br />
Heuristischer Ansatz<br />
◮ Die Testplanung stützt sich auf Erfahrungswissen und<br />
Daumenregeln<br />
In der Praxis kommt oft eine Mischung dieser beiden Ansätze vor<br />
18 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Testen und Risiko<br />
Testen und Risiko<br />
Risiko = Schaden x Schadenswahrscheinlichkeit<br />
Zu bekämfende Risiken sind:<br />
◮ Projektrisiken<br />
◮ Produktrisiken<br />
Risikoorientierte Testpriorisierung verteilt die Ressourcen besser<br />
19 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Testzyklusplanung<br />
Testzyklusplanung<br />
Die Testplanung muss unter Berücksichtigung folgender Punkte <strong>für</strong><br />
jeden Zyklus neu angepasst werden<br />
◮ Entwicklungsstand<br />
◮ Testergebnisse<br />
◮ Ressourcen<br />
20 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Testzyklusüberwachung<br />
Testzyklusüberwachung<br />
Der Fortschritt wird anhand von Testmetriken überwacht, folgende<br />
Metriken sind denkbar<br />
◮ Fehlerbasierte Metriken<br />
◮ Testfallbasierte Metriken<br />
◮ Testobjektbasierte Metriken<br />
◮ Kostenbasierte Metriken<br />
21 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Testzyklussteuerung<br />
Testzyklussteuerung<br />
Sind Verzögerungen gegenüber dem Testplan enstanden, muss der<br />
Testmanager diesen anpassen. Folgende Maßnahmen sind möglich.<br />
◮ Anforderung zusätzlicher Mittel<br />
◮ Anpassung des Testplans<br />
◮ Verlängerung der Testdauer<br />
22 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Testprotokoll<br />
Testprotokoll<br />
◮ Das Testprotokoll enthält Informationen über das erwartete<br />
Soll- und das Istverhalten<br />
◮ Das Protokoll wird von Testern analysiert, um festzustellen,<br />
ob das Problem tatsächlich im Testobjekt liegt<br />
◮ Liegt das Problem im Testobjekt, wird eine Fehlermeldung<br />
erstellt<br />
23 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Fehlermeldung<br />
Fehlermeldung<br />
◮ Einrichten einer zentralen Fehlerdatenbank<br />
◮ Einheitliches Meldungsschema verwenden<br />
◮ Enthält alle Informationen zur Lokalisierung und<br />
Reproduzierung<br />
24 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Fehlerklassifikation<br />
Fehlerklassifikation<br />
Attribute<br />
◮ Fehlerschwere<br />
◮ Fehlerpriorität<br />
Anzahl und Fehlerklassifikation erlaubt Aussage über<br />
Produktstabilität<br />
25 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Fehlerstatus<br />
Fehlerstatus<br />
Status gesetzt durch<br />
Neu Tester<br />
Offen Testmanager<br />
Abgewiesen Testmanager<br />
Analyse Entwickler<br />
Beobachtung Entwickler<br />
Korrektur Projektmanager<br />
Test Entwickler<br />
Erledigt Tester<br />
Flop Tester<br />
26 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Teststrategie und Verwaltung<br />
Fehlerstatus<br />
Anforderung an das Konfigurationsmanagement<br />
◮ Versionsverwaltung<br />
◮ Konfigurationsverwaltung<br />
◮ Statusverfolgung von Fehlern und Änderungen<br />
◮ Konfigurationsaudits durchführen<br />
27 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Schlussbemerkung<br />
Einleitung<br />
Testorganisation<br />
Teststrategie und Verwaltung<br />
Schlussbemerkung<br />
28 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Schlussbemerkung<br />
Danke !<br />
29 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Schlussbemerkung<br />
Danke ! Fragen ?<br />
29 / 30
<strong>Testmanagement</strong> <strong>für</strong> <strong>Softwaretest</strong><br />
Schlussbemerkung<br />
Literatur<br />
Refernces<br />
A. Spillner et. al.<br />
Basiswissen <strong>Softwaretest</strong>:<br />
Aus- und Weiterbildung zum Certified Tester - Foundation<br />
Level nach ISTQB-Standard<br />
Spillner-linz, 2012.<br />
Chip Davis<br />
Test management best practices.<br />
http://ibm.com/developerworks/rational/library/06/1107_davis/,<br />
Last-seen on: 13 February 2013.<br />
30 / 30