Auswahl der Tools


29.10.2002

Jede einzelne Testprozedur enthält folgende Angaben:

  • Eine eindeutige Nummer
  • Die Testperson
  • Datum / Uhrzeit
  • Das zu testende Objekt (die Komponente)
  • Die zu testende Softwareversion
  • Das Ziel des einzelnen Tests
  • Die Voraussetzungen für die Durchführung des Tests (was ist vorher zu tun?)
  • Die einzelnen Testschritte
  • Verification Points, die einzelne Bedingungen für die Durchführung des nächsten Testschrittes darstellen
  • Kriterien, die für ein positives Ergebnis des Tests erfüllt werden müssen
  • Arbeiten nach der Durchführung des Tests

Eine wichtige Komponente ist die Identifizierung der für die jeweiligen Tests benötigten hard- und softwaretechnischen Ressourcen, sowie die benötigten Testdaten. Folgende Fragen sind zu beantworten:

  • Welche Mengen an Daten werden benötigt?
  • Woher kommen die Daten?
  • Müssen sie manuell erstellt werden, oder kommen sie aus vorhandenen Quellen?
  • Sind diese Quellen intern oder extern?
  • Wie hoch ist der Aufwand für die Beschaffung bzw. Erstellung der Daten?

Können diese Fragen nicht ausreichend geklärt werden, führt dies zu erheblichen Behinderungen im Testablauf.

Die erstellten Testprozeduren müssen zu nachvollziehbaren Ergebnissen führen können, und sollten den Testfall so beschreiben, dass er von jedem Mitglied des Testteams durchgeführt werden kann. Dadurch können die Testfälle im Fall eines Engpasses leichter aufgeteilt werden. Der für die jeweilige Komponente verantwortliche Entwickler muss im Falle eines Fehlerreports anhand der einzelnen Testschritte jederzeit den Fehler wieder nachvollziehen können, um die Ursache dafür zu entdecken und zu beseitigen.

Jeder Entwickler führt während der Implementierungsphase sog. Modultests durch, in denen in sich abgeschlossene Bereiche auf Codebasis getestet werden. Die Modultests werden dokumentiert und stellen damit die Basis für die Übergabe der einzelnen Komponenten an das Testteam dar, welches nun seinerseits mit der Durchführung der vorher definierten Tests beginnt.

Die Verwendung einer geeigneten Software für das Fehlerreporting und das Bugtracking ist eine wichtige Voraussetzung für eine effiziente Kommunikation zwischen den Entwicklern und den Testern. Jede Fehlermeldung wird von einem Mitglied des Entwicklungsteams an die jeweiligen Entwickler weitergeleitet. Dem Testteam steht dadurch ein zentraler Ansprechpartner zur Verfügung, wodurch die Arbeit des Testteams zumindest in diesem Punkt erleichtert wird. Außerdem werden die Fragen an die Entwickler kanalisiert.

An dieser Stelle einige Worte zur Auswahl und Verwendung von Tools

Tools, die das Testen von Hard- und Software unterstützen, werden zahlreich angeboten. Von kostenlosen Open Source Tools bis hin zu Produkten, die mehrere zehntausend Euro kosten. Eine komplette Aufzählung würde den Rahmen dieses Beitrages bei weitem sprengen und ist nicht möglich.

Bei der Auswahl des geeigneten Tools sollten folgende Fragen gestellt werden:

  • Ist ein entsprechendes Budget für Testtools vorhanden, und wie hoch ist es?
  • Für welche Testarten benötige ich unbedingt ein Tool?
  • Brauche ich eine Software für die Verwaltung und Dokumentation der Tests?
  • Reichen dafür vielleicht sogar Word und Excel?
  • Ist eine Test-Software in meinem Betrieb vorhanden und welche Erfahrungen wurden damit gemacht?
  • Wie hoch ist der zeitliche und finanzielle Schulungsaufwand?
  • Steht der Aufwand in einem vernünftigen Verhältnis zum Projekt?
  • Wie hoch ist der Aufwand der Verwendung des Tools im Verhältnis zu manuellen Tests?
  • Was verlangt der Kunde?
  • Wer kann mir bei der Auswahl behilflich sein?

Dabei ist stets zu beachten, dass Tools kein Selbstzweck, sondern nur ein Mittel zum Zweck sind!

Bleibt noch die Frage, was in welchem Umfang getestet werden soll. Ziel ist es, diejenigen Bereiche der Implementierung zu identifizieren, bei denen die Eintrittswahrscheinlichkeit eines Fehlers auf der einen Seite, sowie die Priorität des jeweiligen Bereiches auf der anderen Seite am höchsten ist.

Nachfolgende Grafik zeigt ein Beispiel für eine Risikoclusterung:

Abbildung 3 - Risikoclusterung

Das Ergebnis der für jedes Projekt individuell durchzuführenden Bewertung kann - abhängig vom zu implementierenden CMS und den Kundenanforderungen - durchaus unterschiedlich ausfallen. Mit dieser Untersuchung können auch diejenigen Bereiche, bei denen der Testaufwand am größten ist, bzw. die meisten Testfälle durchzuführen sind, besser identifiziert werden. Nachdem die Testfälle erstellt, die Fragen zu den Testdaten geklärt sind, und auch die Wahl des richtigen Testtools getroffen ist, muss nun die Frage nach dem Testort gestellt werden. Dieser ist in erster Linie von der benötigten Infrastruktur abhängig.

Abnahmephase

Der Erfolg des Projektteams in dieser Phase hängt zu einem großen Teil von der Arbeit in den vorhergehenden Projektphasen ab. Nur dann, wenn die Kommunikation mit dem Kunden ausreichend war, die Anforderungen genauestens spezifiziert und implementiert, und auch ausreichend getestet wurden, wird ein kritischer Kunde das Produkt abnehmen. Das Testteam kann hierbei durch seine systematische Vorarbeit eine wesentliche Hilfestellung bieten, indem es einen Grossteil der Kriterien bereits im Vorfeld identifiziert und eine hohe Fehlerzahl durch ausreichende Tests vermeiden hilft.

Eine genaue Definition der Kriterien, die für die Abnahme wesentlich sind, geht diesem Prozess voraus. Die Akzeptanzkriterien sollten bereits in der Angebotsphase genauestens definiert worden sein, um den Abnahmeprozess nicht unnötig zu behindern. Bei den Akzeptanzkriterien handelt es sich um Vorgaben, die vom zu implementierenden System erfüllt werden müssen. Dies können entweder Vorgaben an die Funktionalität des Systems sein, oder Vorgaben an die Hardware, oder aber auch Vorgaben bezüglich Dokumentation und Training der Mitarbeiter.

Eine eventuelle weitere Präzisierung der Akzeptanzkriterien in der Feinspezifikationsphase kann nur durch eine permanente Abstimmung zwischen den einzelnen Bereichen im Projektteam und mit den jeweiligen Ansprechpartnern des Kunden erfolgen. Als in der Praxis hilfreich hat sich für den Abnahmeprozess die Erstellung einer Compliance Matrix erwiesen, welche die einzelnen Abnahmekriterien genauestens auflistet und mit Prioritäten versieht. Die einzelnen Punkte können nunmehr abgehakt, und somit der Abnahmeprozess möglichst objektiviert werden. Das "Vergessen" wichtiger Kriterien ist nicht mehr möglich und verhindert ein "böses (und teures!) Erwachen" für beide Partner nach Beendigung des Projektes. Mit dem erfolgreichen Abschluss der Abnahmephase kann das Content Management System endlich "live" geschaltet werden. Kurz danach wird sich zeigen, wie vorteilhaft die Tests für einen fehlerfreien, reibungslosen Lauf waren.

Fazit

Effiziente Tests sind ein wichtiges Instrument zur Qualitätssicherung in Content Management Projekten. Die Testphasen verlaufen parallel zu den einzelnen Projektphasen, um eine bessere Steuerung zu ermöglichen. Eine gute Planung in der Feinspezifikationsphase, sowie die sorgfältige Auswahl der Mitglieder des Testteams ist dabei unerlässlich. Von vornherein perfekt geplante Tests helfen die Kosten zu senken, ein schlechtes Image zu vermeiden, und den User zufriedener zustellen.




Kommentare

Bitte beachten Sie unsere Informationen zum Datenschutz.

blog comments powered by Disqus

Autor

  • Georg Amm




Unsere Experten


alle Experten

Premium Lösungen

Marktübersicht

Premium Services

Dienstleisterübersicht