SAP Enterprise Continuous Testing by Tricentis は、Tricentis社のツールToscaを用いたテスト自動化ソリューションです。
■過去のSAP ECTに関する記事
SAPソフトウェア・テストのための新しい選択肢:Tricentis製品について(2021年1月)
Tricentis 製品によるテスト自動化【初級編①】(2021年3月)
Tricentis 製品によるテスト自動化【初級編②】(2021年3月)
この記事では、SAP ECTの機能のひとつであるDistributed Execution(分散機能)をご紹介します。
機能の概要
Distributed Execution (略称:DEX) は、利用可能なコンピュータ(PCやVM等)に対して自動テストを分配し分散実行させる機能です。通常、自動テストを端末で実行させるとその端末は自動テストにコントロールを奪われてしまうため、テストの実行中は人間が操作できなくなってしまいますが、この機能があれば人間が利用していないコンピュータを活用してテストを実行させることができます。
仕組みとしては下の図のようになっており、Tosca Serverに実行端末であるagent(コンピュータ)を接続して各agentが実行すべきテストを分配します。
(Tricentis社のオンラインヘルプより引用)
では、この機能はどのような場合に役に立つのでしょうか?ここでは利用ケースを二つご紹介します。
CASE1: 複数端末利用によるテスト時間の短縮
複数の自動テストケースを複数のテスト実行端末(エージェント)にディスパッチし、実行させることができます。
これにより大規模テストの並行実行が可能になるとともに、テスト実行端末をアイドルさせる(待機状態にする)ことなく効率よくテストを実行することができるようになります。
複数の端末に効率よくテストを実行させることによってテスト実行時間の短縮を見込むことができます。例えば、夜間に大量の自動テストを無人実行して完了させるようなことが可能になります。
CASE2: CIサーバを利用したパイプラインへの自動テストの組込
JenkinsなどのCIサーバとDistributed Executionを連携させるも可能です。
上の図の例では単にJenkinsからエージェントにテストを実行をさせているように見えるかもしれません。
しかし、例えば「アプリケーションの変更をデプロイしたあとに関連のプロセスの自動テストを実行させる」というようなパイプラインをCIサーバ側に登録することによって、変更のデプロイと以降のテストを一連のタスクとして自動的に実行することが可能になります。これにより「単にJenkinsからテストを実行させる」以上の効果を得ることができます。
以下の図は、SAP ECTによるテスト実行を組み込んだJenkinsパイプラインの一例です。
このパイプラインは(テストを含む)変更管理のプロセスを効率化・高速化するだけではなく、アプリケーションの品質向上にも有用です。
以上、SAP ETCによる自動テストの分散実行(DEX)についてご紹介しました。テストの夜間/無人実行、実行時間短縮、自動テスト実行のトリガ自体を自動化したい場合や、CIのパイプラインに自動テストを組み込みたい場合などに役立つ機能ですので、ぜひご活用ください。