Entscheidungstabellen sind nicht nur ein hilfreiches Werkzeug, um Software-Tests zu spezifizieren, d.h. um Testfälle systematisch herzuleiten. Sie sind genauso nützlich beim Spezifizieren von Medizinprodukten (Systemen), von Komponenten oder von Software selbst.
Sie sollten (Software-)Anforderungen präzise spezifizieren
Was passiert, wenn Sie das nicht tun
Während meiner Beratungsprojekte bei Medizinprodukteherstellern stoße ich immer wieder auf ziemlich unvollständige System-Anforderungen (manchmal als Pflichtenheft bezeichnet) bzw. Software-Anforderungen. Aus dieser Unvollständigkeit ergeben sich fast immer die gleichen Probleme:
- Abweichungsbericht im Audit, weil Anforderungen unvollständig spezifiziert sind
- Entwickler, die nicht so richtig wissen, was sie entwickeln sollen, was wiederum zu Projektverzug und fehlerhaften Produkten führt
- Tester, die ständig nachfragen müssen und zugleich eher erfahrungsbasiert denn systematisch testen, was wiederum ebenfalls zu erhöhten Aufwänden und schlechterer Produktqualität führt.
Weshalb sich so viele damit schwer tun
Mir fällt auf, dass oft nicht mangelnder Fleiß oder mangelnde Einsicht Grund für die unvollständigen und unpräzisen Anforderungen sind, sondern vielmehr ein Unvermögen diese zu formulieren. Ich höre dann Sätze wie „das kann man nicht allgemein sagen“ oder „das ist sehr kompliziert“. In der Tat beginnen wir dann endlose Listen an wenn-dann-Sätzen zu formulieren. Bei diesen zahllosen Bedingungen verliert man leicht die Übersicht, besonders vergisst man schnell zu spezifizieren, was passieren soll, wenn die Bedingung nicht erfüllt ist.
Entscheidungstabellen zum Spezifizieren von Tests und Anforderungen
Wie Sie mit Entscheidungstabellen arbeiten
Unabhängig davon, ob Sie ganze Systeme, standalone Software oder embeded Software spezifizieren wollen, empfehle ich Ihnen: Ziehen Entscheidungstabellen in Betracht, um eine komplexe Logik vollständig, systematisch und konsistent zu formulieren. Diese Entscheidungstabellen bestehen aus
- Zeilen für die Vorbedingungen und möglichen Inputs der Software bzw. des Systems.
z.B. wenn die Pumpe läuft und der Nutzer „Start“ eingibt… - Zeilen, die möglichen Outputs charakterisieren.
z.B. dann stoppt die Software die Pumpe und die Software zeigt eine Warnung - Spalten, die die Testfälle beschreiben d.h. die Kombination der geplanten Inputs und die erwarteten Outputs.
Ideal ist es, wenn Sie in den Entscheidungstabellen die Inputs und v.a. Outputs mit eindeutig entscheidbaren Kriterien beschreiben. Beispielsweise:
- Der Nutzer hat den Schalter gedrückt (ja/nein)
- Der Motor dreht sich (ja/nein)
- Die Anzeige zeigt einen Temperatur größer 35°C an (ja/nein)
- Die ADT-A01-Nachricht ist eingetroffen (ja/nein)
- Der Pegel ist auf 0V reduziert (ja/nein)
Welche Vorteile Sie vom Arbeiten mit Entscheidungstabellen haben
Auf diese Weise ist es vielen meiner Kunden gelungen, gleich mehrfach zu profitieren:
- Die Spezifikation der Anforderungen gelingt schneller, systematischer und vollständiger als mit langen und übersichtlichen Texten aus unvollständigen und impliziten Wenn-Dann-Bedingungen
- Fehler werden unwahrscheinlicher und lassen sich beim Review leichter entdecken, auch weil das Dokument kürzer wird
- Die Entwickler wissen sofort, was sie zu tun haben, ohne lange Texte lesen zu müssen
- Die Tester haben eine nahezu perfekte Test-Spezifikation
- Sie glänzen im Audit
Gerne unterstützen wir Sie dabei, Ihre System-/Software-Anforderungen „auditsicher“ zu dokumentieren oder zu prüfen. Melden Sie sich, wir freuen uns auf Ihre Nachricht!