Frage

Ich arbeite aktuell an einem großen BPM-Projekt in Arbeit, das verwendet die Global 360 BPM-tool-set namens Process 360.Nur um einige Hintergrundinformationen;dieses Produkt funktioniert, wie viele andere BPM-Lösungen, die Sie entwerfen, mehrere "process maps" zu definieren, die den Fluss eines bestimmten business-Prozess, den Sie versuchen zu modellieren, und jeder Prozess Karte besteht aus mehreren task-Knoten miteinander verbunden, die Durchführung einer bestimmten Funktion (aufrufen von web-services usw).

Derzeit erfahren wir einige ziemlich ernste Probleme, die während der QA Phasen der Veröffentlichungen, denn es gibt keine Art und Weise zur Verfügung gestellt von der tool-set, um Tests zu automatisieren, den Prozess Karte Routen.Also, wenn Sie einen großen und komplexen Prozess entwickelt, und übergeben unseren test-team, gibt es oft eine große Anzahl von Fragen, die auftauchen.Während Sie natürlich erwarten würden einige Probleme kommen aus QA, ich kann nicht helfen, das Gefühl, dass viele der bugs usw hätte gesichtet wurden, während der Entwicklung, wenn wir hatte einige Art der automatisierten Test-Frameworks, die wir nutzen könnten, um erstellen Sie einen Satz von unit-tests, die bewiesen, dass die verschiedenen Routen in die Prozess-map(s).

Im moment ist der einzige echte Entwicklungs -, Test -, der Auftritt, eher zu funktionalen Tests durch den Entwickler, die dokumentiert, wie eine Reihe von manuellen Schritten pro Testfall.Das problem bei diesem Ansatz ist, dass es sehr zeitaufwendig für die Entwickler, die manuell ausführen, und weil dieser, ist auch relativ anfällig für Fehler.Auch;da wir in der Regel auf einem ziemlich engen Zeitplan, die tests sind oft nicht ausgeführt, oft genug zu erkennen Probleme früh.

Wie ich bereits erwähnt habe;es gibt keine Möglichkeit, im aktuellen tool-set zur Durchführung dieser Art von automatisierten Tests.Die eigentlich gab mir zu denken warum?Sehr neu in der gesamten BPM Szene meine Vermutung war, dass dies nur ein feature fehlt in der Produkt -, aber ich Frage mich auch, ob die "unit-Test" ist einfach nicht fertig, in die BPM-Welt traditionell?Vielleicht ist es einfach nicht gut geeignet, um diese Art von Arbeit?

Ich wäre daran interessiert zu wissen, ob jemand jemals erlebt haben, diese Art von Fragen, und auch, was - wenn überhaupt etwas - kann getan werden, um Dinge zu verbessern.

War es hilfreich?

Lösung

Ich habe getan, „Einheit“ Prüfung mit K2.net 2003 einer anderen kommerziellen BPM. Ich würde wirklich diese Integrationstests nennen, weil es einen Testserver erfordert und es ist relativ langsam. Es ist jedoch automatisiert.

Es gibt eine gute Diskussion über diese in dem Buch Professionelle K2 blackpearl ( es gilt für K2.net 2003 als auch).

Um es auf Ihrer Plattform anwenden, hat der Werkzeugsatz eine API haben, dass Genehmigungen Prozessinstanzen starten, Workitems zu erhalten, Workitems abgeschlossen, etc. Sie schreiben Tests jede unterstützte Sprache mit (I verwendet C #) und ein Test-Framework (I verwendet NUnit). Wenn die API synchrone Anrufe unterstützt, ist dies leichter zu tun. Für jeden Test:

  1. Starten Sie den Prozess im Test
  2. Fortschritt des Workitem zu einem Entscheidungspunkt
  3. Set Prozessinstanzdaten in geeigneter Weise
  4. Füllen Sie das Workitem
  5. Assert, dass das Arbeitselement ist jetzt an der erwarteten Aktivität
  6. Löschen oder die Prozessinstanz vervollständigen

Basis-Testklassen oder Hilfsmethoden können diese einfacher machen. Man könnte sogar ein DSL zum Testen Karten schreiben.

Im Grunde wollen Sie voll „Testabdeckung“ des Prozess / Karte - Test jeden Entscheidungspunkt und sicherzustellen, dass die korrekte Verzweigung genommen wird

.

Andere Tipps

Ich habe gesehen, etwas, das, wenn auch nicht Global 360 related : mit bpelunit für Testverfahren

Ich entwickle ein workflow-tool und es ist eine erhöhte Nachfrage für die Eröffnung des test-tools verwendet, die für die Prüfung der Motor-zu-Ende-Benutzer.

Es gibt zwei Aspekte von BPM, die verwandt sind noch nicht identisch sind.

Es BPM ist das Werkzeug und Technologie-Anbieter vertreten, für die alle über Funktionen.

Es gibt auch BPM, dass Enterprise Architects Anwalt, für die alles über den Aufbau Centers of Excellence.

Das erstere ist, wenn ein Unternehmen eine Software kauft.

Das letztere ist, wenn ein Unternehmen macht systemische und inhärente Änderungen an dem Verhalten ihrer IT-Mitarbeiter.

Die ehemalige sollte in dem Dienst des letzteren sein, aber das ist nicht unbedingt so. die ehemalige Erwerb ist notwendig, aber nicht ausreichend, um die letztere zu erreichen.

Ich weiß nicht, wie gut, dass Global 360 unterstützt, was als Test Driven Development bekannt ist, aber JBoss jBPM tut bieten einige Werkzeugunterstützung für JUnit-Tests leicht zu schreiben.

Allerdings kann das Tool nicht und wird nicht Entwickler zwingen, sie zu schreiben oder TDD Prinzipien zu umarmen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top