Gerade bin ich auf einen interessanten Artikel gestoßen, der beschreibt, wie man BPMN-Modelle in der Software-Entwicklung nutzen kann, um Testfälle zu erstellen. Beim modellzentrierten Testen leitet man die Testfälle bewusst nicht aus den für den Software-Entwurf verwendeten Modellen ab, da diese bereits Fehler enthalten können, die dann beim Testen nicht gefunden werden. Stattdessen werden auf Grundlage der Anforderungen eigene Testmodelle entwickelt. Florian Otto von der Hochschule Coburg und Florian Prester von der sepp.med GmbH beschreiben in der Online-Ausgabe der Zeitschrift Objektspektrum, wie ein Anforderungsmodell in ein Testmodell überführt wird. Hierzu wird das BPMN-Modell verwendet, das den Ablauf beschreibt, der von der Software unterstützt werden soll. Die Aktivitäten, die beim Test berücksichtigt werden sollen, werden als Testschritte markiert. Weiterhin werden Prüfschritte eingefügt, in denen die erhaltenen Ergebnisse überprüft werden. Damit man die Tests später automatisieren kann, werden Bedingungen in einer Skriptsprache formuliert. Mit Hilfe von Anmerkungen können weitere Angaben für die Umsetzung definiert werden, z. B. mit welcher Priorität ein bestimmter Sequenzfluss geprüft werden soll.
Das Modell wird dann aus der Modellierungsumgebung (Innovator für Business Analysts von MID) in einen Testfallgenerator übertragen (.getmore der Firma sepp.med). Dort wird dann ein Testfallbaum mit den abzuarbeitenden Testfällen generiert. Zur Durchführung der Tests werden diese Fälle in eine Testmanagement-Plattform importiert (Team Foundation Server von Microsoft). Die Tests können manuell abgearbeitet oder automatisiert ausgeführt werden, wobei die Ergebnisse, Statistiken usw. in der Testmanagement-Plattform verwaltet werden.
Welche Vorteile bietet dieser Ansatz? Mit Hilfe des modellzentierten Testens können gute Tests mit geringem Aufwand erstellt und durchgeführt werden, wobei spezifische Testziele berücksichtigt werden können, so die Autoren. Die BPMN eignet sich als durchgängige Sprache für fachliche Anforderungen und die Testfallentwicklung, die leicht zu erlernen und intuitiv verständlich sei. Es ist anzunehmen, dass für die beschriebene Vorgehensweise eine eingeschränkte Auswahl aus dem gesamten Sprachumfang genutzt wird.
Der Artikel stellt ein sehr gutes Beispiel für die Vielfältigkeit der Einsatzmöglichkeiten von Prozessmodellen dar. Ein Modellierungsstandard wie die BPMN sollte daher nicht zu einseitig auf die Ausführung durch eine Process Engine fokussieren, sondern auch ganz andere Szenarien möglichst gut unterstützen.