Meine bisherigen Blogbeiträge zum Thema „Qualität von Spezifikationen und Anforderungen“ gehören zu den meistgelesenen Artikeln.
Heute habe ich mich mit dem Thema „Testen von Software“ befaßt, und mir insbesondere den Certified Tester – Foundation Level Syllabus angesehen, der vom→ ISTQB (International Software Testing Qualifications Board) herausgegeben wird.
Dort stehen einige interessante Informationen über die Qualität von Spezifikationen, auf die ich heute kurz eingehen will.
Es gibt mehrere Verfahren, um Softwaretests zu designen, und, um die Werte zu finden mit denen man die Funktionsfähigkeit der Software testet. Wenn Sie zum Beispiel eine Heizungsschaltung herstellen, die bei 15 Grad einschaltet, und bei 22 Grad ausschaltet, würden Sie das Verhalten Ihrer Software in der Nähe dieser Temperaturen messen.
Mit der Equivalence Partitioning Methode testen Sie gleichgroße Intervalle, um die Schaltpunkte herum, wie z.B. die Temperaturen 13, 18, 24 Grad. Bei der Boundary Value Analysis Methode, testen Sie eher die Grenzwerte, bei denen geschaltet wird, da dort die meisten Fehler zu erwarten sind, wie z.B. 14 und 23 Grad.
Das Decision Table Testing läuft wie folgt ab (und da erkennen Sie dann sicher auch gleich die wichtige Rolle einer guten Spezifikation):
Decision tables are a good way to capture system requirements that contain logical conditions, and to document internal system design. They may be used to record complex business rules that a system is to implement. When creating decision tables, the specification is analyzed, and conditions and actions to the system are identified. The input conditions and actions are most often stated in such a way that they must be true or false (Boolean).
Bei dieser Testmethode werden also logische Bedingungen aufgestellt, die sich aus der Spezifikation ergeben. Diese Bedingungen werden getestet, und können sich auch komplexe Systeme beziehen.
Gute Spezifikationen und Anforderungen müssen unterschiedlichen Kriterien genügen. In dem Kapitel Weiterführende Informationen unten finden Sie einige Artikel, in denen ich verschiedene Aspekte schon einmal behandelt habe.
Wenn Sie an die obigen Testmethoden denken, sollten Sie im Hinterkopf behalten, daß Ihre Spezifikation nicht nur die Grundlage für die Softwareentwickler ist. Vielmehr bildet sie sehr viel später im Prozess auch die Grundlage für Tests. Das bedeutet, daß die Qualität einer Software u.a. auch von der Spezifikation abhängt.
Viele Produktmanager konzentrieren sich (meiner Erfahrung nach) auf die Beschreibung der Nutzungsszenarien, und sie befassen sich eher auf hoher Ebene mit den betriebswirtschaftlichen Aspekten einer Software.
Wenn Sie sich die obigen Testmethoden noch einmal vergegenwärtigen, sind folgende Punkte wichtig:
In den folgenden Artikeln finden Sie weiterführende Informationen zum heutigen Thema:
Das Original dieses Artikels ist auf →Der Produktmanager erschienen (©Andreas Rudolph). Regelmäßige Artikel gibt es über die (→Mailingliste), oder indem Sie →mir auf Twitter folgen. In der Online Version finden Sie hier die versprochenen weiterführenden Links: