Testkonzept

Test und QS

Nicht nur während der Testphase eines Projekts ist die Qualitätssicherung (QS) ein unverzichtbares Element. Während des Tests kommt der QS eine herausragende Bedeutung zu: Sie hat zu gewährleisten, dass Testobjekte und Testfälle umfänglich und vollständig definiert sowie dokumentiert sind und steuert den Abnahmeprozess durch die Entscheidungsgremien. Schließlich gewährleistet sie einen revisionssicheren Ablauf.

Den inhaltlichen Leitfaden bzw. das Drehbuch für den Test bildet das Testkonzept. Es beinhaltet zunächst die Testziele und gliedert diese in Einzelziele und stellt diesen wiederum die entsprechenden Messgrößen gegenüber.

Beschrieben werden auch die Teststrategie und die Testendekriterien. Für eine erfolgreiche Teststrategie hat sich nach meiner Erfahrung die Methode der Äquivalenzklassenbildung als optimale Vorgehensweise erwiesen, da hierbei mit möglichst wenigen Testfällen eine möglichst hohe Testfallabdeckung zu erreichen ist. Hierbei werden typische (repräsentative) Werte gebildet, die gleichzeitig für alle Klassen und Eingaben (Inputdateien bzw. DBMS) stehen. Für die Festlegung der Äquivalenzklasse wird jede im Fachkonzept beschriebene Eingabebedingung betrachtet und systematisch in mehrere Gruppen unterteilt:

  1. Korrektes Endergebnis (gültige Äquivalenzklasse mit erlaubten Eingabewerten)
  2. Nicht positives Testergebnis (ungültige Äquivalenzklasse mit allen anderen Werten)

In den Testendekriterien wird zusammenfassend dargestellt, dass

  • die übergreifend definierten Kriterien erfüllt sind und die Ergebnisse den erwarteten Vorgaben der Testleitung entsprechen
  • die für die Teststufen definierten Ergebnisse aller Testfälle den in den Fachkonzepten beschriebenen Funktionen entsprechen und ebenso die verwendeten Daten die definierten Ergebnisse widerspiegeln

In der Regel wird die Testphase eines Projekts in unterschiedliche Teststufen untergliedert. Das Testkonzept beschreibt Inhalt und Umfang der einzelnen Teststufen.
Mindestens folgende Teststufen sind zu durchlaufen:

  • Fachabteilungs-Integrationstest
  • System-Integrationstest
  • Abnahmetest
  • Funktionskontrolle unter produktiven Bedingungen

Je nach Projektumfang und –tiefe sind auch Stabilitätstests, Last- und Performancetests in die Planung einzubeziehen. Als steuerndes Instrument ist das Aufsplitten jeder Teststufe (z. B. FA-Test) in mehrere Zyklen ratsam. Durch eine eindeutige Zuordnung von Testfällen zu jedem definierten Zyklus (von/bis) ist somit eine überschaubare Portionierung möglich, die wiederum bei Abweichungen ein schnelles, wirksames Eskalationsmanagement gestattet.

Als besonders effizient ist die Mitwirkung des Fachbereichs bereits während der Modultests. So kann durch das kooperative Vorgehen zwischen Entwicklung und Fachbereich ein besonders zielführendes Vorgehen praktiziert werden; große Überraschungen sind hierdurch in jedem Fall ausgeschlossen. In der Literatur wird dieses Vorgehensmodell auch als „iterative inkrementelle Testmethodik“ bezeichnet.

Konzeptionell sind Maßnahmen zu beschreiben, die alle am Test beteiligten Personen „mitnehmen“. Diese Maßnahmen sind davon abhängig, welche Methoden praktiziert werden (z.B. Äquivalenzklassen, Grenzwertanalysen) und welche Umgebungen zu bedienen sind (z.B. Automatisierte Testverfahren, Rational Robot). In der Regel sind hierzu im Vorfeld Schulungsmaßnahmen für die Tester zu planen.

Um den Test zu systematisieren, müssen Testobjekte und Testzyklen klar definiert sein. Sinnvoll ist eine Zuordnung zu Testfallklassen und Testfallgruppen, welche wiederum die Testfallklasse gliedern. Klasse und Gruppen finden sich eindeutig einer Testobjektnummer zugeordnet, die über eine Testfalldatenbank dokumentiert und getrackt werden kann. Die Testzyklen geben chronologisch auf der Zeitachse Inhalt und Dauer der Testobjekte wider. Permanente Inspektionen decken kritische Situationen auf. Durch Tests aufgedeckte Fehler innerhalb Daten und/oder Funktionen müssen durch einen vorgegebenen Eskalationsprozess gesteuert (Priorisierung) werden. Hierzu müssen diese Fälle mit vorhandenen Tools, wie z.B. PVCS Tracker, SOLVE oder ClearQuest dokumentiert werden. Durch den Test aufgedeckte Konzeptionsfehler bzw. Lücken (z.B. nicht vorhandene Funktion für bedeutenden Geschäftsvorfall) müssen aus organisatorischen Gründen als Change Request ausgesteuert und den entsprechenden Entscheidungsgremien zugeführt werden. Je nach Testfortschritt bzw. Zyklus sind Programm- oder Tabellenänderungen auf den unterschiedlichen Testumgebungen nur per Hotfix-Prozess durch das Testmanagement durchführbar. Als abgenommen gilt ein Zyklus, wenn die entsprechenden Gremien die Testfreigabe erteilt haben.

Innerhalb der Testdokumentation sind nachfolgende Gliederungspunkte zwingend:

  • Klassifizierung (eindeutige Zuordnung zur Testfall DB)
  • Verbale Beschreibung (für Dritte verständlich und nachvollziehbar)
  • Grundlagen (Eingabedaten für den Testfall)
  • Beschreibung des Soll-Ergebnisses
  • Aktueller Stand

Als einzelne Testdokumente sind das Testkonzept/Testdrehbuch, der Testplan, jeder einzelene Testfall, das Testprotokoll und der Testbericht zu berücksichtigen.
Ein systematischer und hierdurch erfolgreicher Test wird vor allem von nachfolgenden Komponenten geprägt:
ATV (Automatisiertes Testverfahren)
Bei Nutzung einer weitgehend ausgeprägten Testautomatisierung können insbesondere Ziele erreicht werden, welche den Ressourceneinsatz und die Dauer signifikant reduzieren, und zwar durch:

  • Reduzierung von notwendigen Fachbereichstestern um ca. 50 % (Erfahrungswerte aus diversen Projekten mit ATV-Einsatz)
  • Wiederholbarkeit (durch Archivierung der erzielten Testergebnisse können Wiederholungsläufe innerhalb des Projektes oder später im produktivem Umfeld die Korrektheit bzw. Stabilität einzelner Programmstände, Tabellen etc. bestätigen)
  • Reduzierung der Testdauer (durch Verkürzung der Testvorbereitung und durch die Automatisierung beschleunigte Abläufe können Ziele wie „Time to Market“ z.B. bei Tarifwechseln als Wettbewerbsvorteil umgesetzt werden)

Den Vorteilen, welche eine Testautomatisierung mit sich bringt, steht der Investitionsaufwand hierfür gegenüber. Für den Test von Dialogen lassen sich zum Teil preiswerte am Markt verfügbare Tools einsetzen (WinRunner, Synkronizer, ProTerm im Host-Umfeld etc.). Für die Unterstützung von Batch-Prozeduren im Test ist der zu erbringende Aufwand durchaus höher anzusetzen, da eine Automatisierung i.d.R. auf die Bedürfnisse der individuellen Systemlandschaft angepasst werden muss. Hier wurde von der ITERGO ein nahezu perfektes ATV für Tests innerhalb der ERGO-Gruppe geschaffen. Grundsätzlich kann davon ausgegangen werden, dass sich die getätigten Investitionen zur Testautomatisierung auf mittlere Sicht bereits amortisieren und das der Nutzen die Kosten hierbei eindeutig überwiegt.

Fehler-Tracking
Unerlässlich für die Qualitätssicherung ist der Einsatz eines Unterstützungstools zur Fehleradministration, d.h. die Erfassung, die Zuweisung, die Bearbeitung, den Re-Test und die Freigabe von Fehlern während der Testaktivitäten und darüber hinaus für Produktionsfehler. Weit verbreitet in Praxis sind hierbei die Tools „Solve“ im Host-Umfeld und „PVCS Tracker“ sowie „ClearQuest“ als Web-Anwendungen. Die Auswertungen (auf SQL-Basis), die mit diesen Tools erstellt werden können, spiegeln die Fehlerhäufigkeit, die Beseitigungsdauer nach Fehlerklassifikation objektiv wider und stellen somit ein wertvolles Analyse- und Trackinginstrument für die Testleitung dar.

Aufwand und Ressourcen
Für die Unterstützung des Test-Reportings bietet sich der Einsatz von im Markt etablierten Planungs-/Tracking-Tools wie „PlanView“, „MS-WebAccess“ o.ä. an. Hiermit kann die Planung direkt mit den tatsächlich rückgemeldeten Ist-Zeiten abgeglichen werden und es können ggf. erforderliche Gegensteuerungsmaßnahmen eingeleitet werden. Neben dem Tracking eignen sich diese Tools ebenfalls für das Staffing von Personal-Ressourcen.

Die obenstehende Abbildung zeigt den groben Ablauf einer Testphase im Projekt. Der Fokus liegt hierbei auf der Sichtweise der Qualitätssicherung, nämlich die permanente und finale Überprüfung der quantitativ messbaren Qualitäts- bzw. Testziele. Die flankierenden Maßnahmen des Reportings
und des Fehler Trackings fungieren als Steuerungsinstrumente.

Die Kommentarfunktion ist geschlossen.