Archiv für den Monat: März 2018

Teststrategien

In der Spieltheorie nach John von Neumann (Ungarisch-Amerikanischer Mathematiker, 28.12.1903 – 08.02.1957) ist eine Strategie ein vollständiger Plan eines Spielers, der für alle Eventualitäten, z.B. mögliche Gegenzüge oder Umwelteinflüsse den Spieler eine geeignete Handlungsweise auswählen lässt und dabei den Kenntnisstand des Spielers optimal berücksichtigt. Ziel der Strategie ist natürlich das Spiel zu gewinnen. Im Schach z.B. gibt es unzählige Studien über Eröffnungen, Mittel- und Endspiele. Diese können einem Spieler helfen, für jedes Spiel eine eigene, passende Strategie zu entwickeln.

Ziel einer Strategie im Softwaretest ist es die bestmögliche Information über die Qualität des Testgegenstandes zu liefern – unter Berücksichtigung aller Randbedingungen.

Die Handlungs-Elemente, die eine Teststrategie festlegen, sind im Einzelnen:

  • Testprozesse – Wann werden welche Testaktivitäten ausgeführt?
  • Testmethoden – Welche prüfende Maßnahmen (Reviews, statische und dynamische Analysen, Blackbox-, Whitebox- und erfahrungsbasierte Tests) werden eingesetzt?
  • Testarten – Welche Ziele werden mit den Testmaßnahmen verfolgt?
  • Teststufen – Auf welchen Integrationsstufen der Software wird getestet?
  • Testorganisation – Wer ist am Test beteiligt?
  • Testmittel – Welche Werkzeuge und Umgebungen werden benutzt? Wie wird dokumentiert? Wie müssen die Testdaten und das Testdatenmanagement beschaffen sein?

Die ISO/IEC/IEEE 29119-3 nennt u.a. diese Punkte als Inhalte für die gleichnamigen Dokumente auf Organisations- und Projektebene.

Auch das Entwerfen von Teststrategien können Sie üben.

Die folgenden Übungen werden Ihnen ein Gespür dafür geben, worauf es bei einer Teststrategie ankommt. Ein Tipp: Versuchen Sie von vornherein Ihre Antworten zu strukturieren. Malen Sie sich kleine Tafelbilder oder strukturieren Sie Ihre Lösungen mit Hilfe eines Mindmaps.

Beide Methoden setze ich ein, wenn ich reale Strategien und Testhandbücher entwerfe.

 

(c) Christian Alexander Graf, 03.03.2018

 

Schattenboxen-Übung Strategie 1 – Wo stehen Ihre Spielfiguren?

Notieren Sie sich für Ihr Projekt/ Ihre Organisation zu jeder Kategorie die derzeit bestehenden Elemente. Die folgenden Fragen können Ihnen dabei helfen:

Testprozesse:

  • Welche Testaktivitäten folgen auf Entwicklungsaktivitäten? Wodurch werden Sie ausgelöst? Wann erfolgen Sie?
  • Welche Aktivitäten werden außerdem im Test durchgeführt? Wann?
  • Wie sind Testaktivitäten mit Produkt- und Projektrisikomanagement verknüpft?

Testmethoden/Testmittel:

  • Was wird reviewt? Wann? Von wem?
  • Werden statische Analysen durchgeführt? Wann? Womit? Wer wertet sie aus?
  • Welche Testentwurfsverfahren werden eingesetzt? Wann? Von wem? Wie wird der Testentwurf dokumentiert? Wird der Testentwurf durch Werkzeuge, Checklisten, usw. unterstützt?

Testarten/Testmittel:

  • Welche Features (Funktionen, Qualitätsmerkmale, Struktur) werden geprüft?
  • Wann wird nach Änderungen getestet? (Nach- und Regressionstests)
  • Welche dynamischen Analysen werden durchgeführt? Welche Werkzeuge kommen zum Einsatz?

Teststufen

  • Testen Sie Komponenten? Schnittstellen? Geschäftsprozesse? Integrationen in bestimmte Soft- oder Hardware-Umgebungen? Wann finden diese Tests statt? In welcher Reihenfolge?

Testorganisation

  • Betrachten Sie die vorangegangenen Aktivitäten. Wer führt diese durch?

Testmittel/Testorganisation:

  • Welche Werkzeuge setzen sie für Anforderungs-, Fehler- und Testmanagement ein? Verwenden Sie Werkzeuge zur Testautomatisierung, Testdatenmanagement und/oder eigens konstruierte Testumgebungen? Wer nutzt die Werkzeuge? Wer reviewt Testdokumente? Wer bewertet die Art und Weise der Nutzung von Werkzeugen?

Bitte beachten Sie bei dieser Übung die Grundprinzipien des Schattenboxens. Sie können jedem Strategieelement zwei oder drei tägliche Einheiten widmen. D.h. beantworten Sie die Fragen zu jedem Element mindestens zweimal – aber lassen Sie mindestens einen Tag vergehen.

 

Schattenboxen-Übungen Strategie 2 bis 6 – Handlungsalternativen bewusst machen!

Betrachten Sie Ihre Antworten aus der ersten Übung jeweils Elementweise.

  1. Notieren Sie für jeden Punkt den Sie notiert haben eine Alternative zur aktuellen Vorgehensweise.
  2. Notieren Sie für jeden Punkt eine Aktivität, die Sie zusätzlich durchführen könnten.
  3. Notieren Sie für jeden Punkt eine alternative Aktivität, die von einer anderen Rolle ausgeführt wird, als es derzeit der Fall ist. Bewerten Sie die Alternative. Besser? Schlechter? Oder werden einfach andere Informationen geliefert?
  4. Notieren Sie die wichtigsten Features und Eigenschaften des Systems, das Sie testen. Notieren . Sie zu jedem Feature passende Prüfaktivitäten. Welche davon werden tatsächlich durchgeführt? Von wem? Wann?
  5. Notieren Sie alle Projektaktivitäten zur Anforderungserhebung und Entwicklung. Finden Sie zu jeder dieser Aktivitäten eine zugehörige passende Prüfaktivität. Wer könnte diese durchführen? Welche Werkzeuge könnten denjenigen dabei unterstützen?