質問

私は現在、Process 360 と呼ばれる Global 360 BPM ツールセットを使用する大規模な BPM プロジェクトに取り組んでいます。背景を説明します。この製品は、モデル化しようとしている特定のビジネス プロセスのフローを定義する複数の「プロセス マップ」を設計するという点で、他の多くの BPM ソリューションと同様に機能します。各プロセス マップは、特定の機能を実行する互いに接続された複数のタスク ノードで構成されます。 (Web サービスの呼び出しなど)。

現在、プロセス マップ ルートのテストを自動化するツールセットが提供されていないため、リリースの QA 段階でかなり深刻な問題が発生しています。そのため、大規模で複雑なプロセスが開発され、テスト チームに引き渡されると、多くの場合、多数の問題が発生します。明らかに予想していることですが、 いくつかの 問題は QA から明らかになるはずですが、一連の単体テストを構築するために使用できる何らかの自動テスト フレームワークがあれば、開発中に多くのバグなどを発見できたであろうという気がしてなりません。プロセス マップ内のさまざまなルート。

現時点で行われる唯一の実際の開発テストは、開発者によって実行される機能テストに似ており、テスト ケースごとの一連の手動ステップとして文書化されます。このアプローチの問題は、開発者が手動で実行すると非常に時間がかかり、そのため比較的エラーが発生しやすいことです。また;私たちは通常、かなりタイトなスケジュールを立てているため、問題を早期に発見できるほどテストが頻繁に実行されないことがよくあります。

先ほども述べたように。現在のツールセットには、この種の自動テストを実行する方法がありません。なぜ実際に考えさせられたのでしょうか?BPM シーン全体についてはまったくの初心者だったので、これは単に製品に欠けている機能だろうと考えていましたが、BPM の世界では伝統的に「単体テスト」が行われていないだけなのかも疑問です。ひょっとしてこの手の作業には向いていないのでしょうか?

他にこの種の問題に遭遇した人がいるかどうか、また、状況を改善するために何ができるのかを知りたいと思っています。

役に立ちましたか?

解決

私は、別の商用 BPM である K2.net 2003 を使用して「単体」テストを実行しました。これはテスト サーバーが必要であり、比較的時間がかかるため、実際にはこれを統合テストと呼びます。ただし、自動化されています。

これについては本の中でよく議論されています プロフェッショナル K2 ブラックパール (これは K2.net 2003 にも当てはまります)。

これをプラットフォームに適用するには、ツール セットに、プロセス インスタンスの開始、作業項目の取得、作業項目の完了などを許可する API が必要です。サポートされている言語 (私は C# を使用しました) とテスト フレームワーク (NUnit を使用しました) を使用してテストを作成します。API が同期呼び出しをサポートしている場合、これは簡単に実行できます。各テストについて:

  1. テスト中のプロセスを開始する
  2. 作業項目を決定点まで進める
  3. プロセスインスタンスデータを適切に設定する
  4. 作業項目を完了する
  5. 作業項目が現在予想されるアクティビティにあることをアサートします
  6. プロセスインスタンスを削除または完了します

基本テスト クラスまたはヘルパー メソッドを使用すると、これが簡単になります。を書くこともできます DSL マップのテスト用。

基本的に、プロセス/マップの完全な「テスト カバレッジ」が必要です。すべての決定点をテストし、正しい分岐が選択されることを確認します。

他のヒント

Global 360 関連ではありませんが、それについて何か見たことがあります。 プロセスのテストに bpelunit を使用する

私はワークフロー ツールを開発していますが、エンジンのテストに使用されるテスト ツールをエンド ユーザーに公開したいという需要が高まっています。

BPM には、関連はあっても同一ではない 2 つの側面があります。

ツールやテクノロジーのベンダーが提唱する BPM は、機能がすべてです。

Enterprise Architects が提唱する BPM もあります。これは、センター オブ エクセレンスの確立に関するものです。

前者は、企業がソフトウェアを購入する場合です。

後者は、企業が IT 従業員の行動に体系的かつ固有の変更を加える場合です。

前者は後者に奉仕することになっていますが、必ずしもそうではありません。前者を獲得することは必要ですが、後者を達成するには十分ではありません。

Global 360 がいわゆるテスト駆動開発をどの程度サポートしているかはわかりませんが、JBoss jBPM はある程度の機能を提供します。 ツールサポート JUnit テストを簡単に作成するためのツールです。

ただし、このツールは開発者にツールの作成や TDD 原則の採用を強制することはできませんし、強制することもありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top