◆◆DevOpsあれもこれも<第11回>◆◆

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™ Software Delivery Platform Model-Based Testingの構成

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のモデルベーステストは、ユニットと呼ばれる単位で自動テストを登録し、そのテストの組み合わせをワークフロー的に管理することが可能です。

ユニット単位で動作する自動テストを用意しておくことで、ビジネスプロセスに詳しい担当者が自動テストツールのスクリプトを作成するなどのプログラミングに近い作業を行う必要が無くなります。

OpenText Japan

OpenText™ は、AIの時代に企業がデータを安全に管理し、正しく活用できるように支援する、情報管理ソリューションのグローバルリーダーです。私たちの技術は、データに意味や背景(コンテキスト)を加えることで価値ある情報へと変え、AI の学習に必要なナレッジベースを作り出します。詳しくは www.opentext.com をご覧ください。