29.10.2013 Aufrufe

Testmanagement für Softwaretest - Ibrahim Kessba

Testmanagement für Softwaretest - Ibrahim Kessba

Testmanagement für Softwaretest - Ibrahim Kessba

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!