Model Base Testing
SaaSサービスであるOpenText™ Software Delivery Platformのテスト管理機能に「Model-Based Testing」があります。これは、テストをモデルやユニットの単位で構造化し、その組み合わせによって効率よくテストシナリオを作ることが出来るものです。
OpenText社のウォーターフォール開発対応のプロジェクト管理サーバであるALM/QCにあるビジネスプロセステストに近いものと表現すると簡単に理解いただける方もいるかもしれません。
ビジネスプロセスを管理する専用ツールを使用している場合には、そのデータをインポートすることも可能です。 ビジネスプロセスマイニング等を実施されている場合に、その情報を活用してテストシナリオを効率的に作成することが可能となります。
OpenText™ Core Functional Testing Model-Based Testingのモデルとユニット
モデルベーステストの最小単位はユニットと呼ばれ、OpenText™ Functional TestingやOpenText™ Core Software Delivery Platform Codeless Test、もしくはSeleniumによって作成した自動テストや手動テストを登録したものです。
モデルに複数のユニットを関連付け、その呼び出し順番からテストステップの組み合わせを作成してモデルベーステストとなります。
OpenText™ Core Functional Testing Model-Based Testingのテストパス
モデルにおいて、ユニットをどのような順番で実行するかをワークフローとして登録し、そこに条件分岐などを設定すると複数のテストパスが発生します。
モデルベーステストの機能では、ワークフローを分析してテストが必要なテストパスをモデルベーステストとして自動生成することが可能です。この機能によってモデルベーステストのカバレッジ管理を可能にします。
OpenText™ Core Functional Testing Model-Based Testingのテスト実行
モデルベーステストを実行するには、OpenText™ Core Functional Testingの実行を使用します。
テストスイートを作成し、そこに登録したモデルベーステストを設定した後、テストランナーを指定します。
テストランナーはテストを実行するためのエンジンにあたる部分であり、OpenText™ Core Software Delivery PlatformのSaaS上で稼働する「クラウドランナー」と、Jenkins等のCIサーバをテスト実行エンジンとして使用する「テストランナー」の2種類があります。
テストセットとモデルベーステスト、テストランナーの関係は以下の図のようになっており、テストランナーがCodelessTestやSelenium用に分かれていることから、同時に実行するテストは1種類になる点に注意が必要です。
作成したモデルベーステストをテストスイートに登録して、そのままダイレクトに実行するかスケジュール設定して指定時間に実行することも可能です。
継続的テストとして実行する場合には、スケジュールの期間を設定し繰り返し実行するようにします。
今回のまとめ
OpenText™ Software Delivery Platformのモデルベーステストは、ユニットと呼ばれる単位で自動テストを登録し、そのテストの組み合わせをワークフロー的に管理することが可能です。
ユニット単位で動作する自動テストを用意しておくことで、ビジネスプロセスに詳しい担当者が自動テストツールのスクリプトを作成するなどのプログラミングに近い作業を行う必要が無くなります。