Jede einzelne Testprozedur enthält folgende Angaben:
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:
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:
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.
Bitte beachten Sie unsere Informationen zum Datenschutz.
blog comments powered by Disqus© 2012 FEiG & PARTNER