1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OutSystemsで回帰テストを外部から実行する

Posted at

OutSystemsで現在推奨されているユニットテストツールはForgeにある、BDDFrameworkです。これを外部から実行する方法です。

環境内のテストケースを自動抽出するためにForgeにあるCI/CD Probeを使います。抽出したテストは、BDDFrameworkが提供しているREST APIで実行可能です。

サンプル

https://www.outsystems.com/forge/Component_Overview.aspx?ProjectId=7086
CICDProbeTest Screenです。
事前準備として、インストール後、ConsumeするREST APIの設定が必要です。画面に設定方法を書いてあるので参考にしてください。

環境

Personal Environment(Version 11.8.0 (Build 10304))
Service Studio(Version 11.7.2)
CI/CD Probe(Forgeコンポーネント、Version 2.1.0)
BDDFramework

CI/CD Probeの役割

OutSystemsにおけるCI/CDパイプライン内で使う情報をREST形式で提供するコンポーネントです。
ただし、2020/4/23時点では、目立った機能は、環境内のBDD Frameworkのテストスイートをリストアップする機能だけです。

なお、BDD Frameworkは、Forgeで提供されているコンポーネントで、自動実行できるユニットテスト作成などに使います。
BDD Frameworkの使い方は以前書いた記事を参考にしてください。1テストスイートは1画面です。画面をAnonymousでもアクセスできるようにするのを忘れずに。
OutSystemsでテスト駆動開発の写経するためのTips

OutSystemsの標準的なCI/CDパイプラインについては、以前メモを作りました。
OutSystemsのCI/CD関係情報まとめ(2020/04/18時点)

CI/CD Probeを使った回帰テストの実行

CI/CD ProbeのREST APIを呼び出し、環境内の全テストをリストアップ。

このScanBDDTestEndpointsをパラメータ無しで呼ぶと、全テストをリストアップしてくれます。
qCICDProbe1_1.PNG

戻り値はモジュール毎に、Screenを列挙したものになっています。
qCICDProbe1_2.PNG

BDDFrameworkのテストスイートを実行する

BDDFrameworkは、テストを実行するためのREST APIを提供しています。
2つのInput Parameterは必須ですが、↑でCI/CD Probeから取得したモジュール名とScreen名が使えます。
qCICDProbe1_3.PNG

つまり、CI/CD ProbeのREST APIの結果をループで順番に実行していく場合、
TestESpace:ScanBDDTestEndpointsResponses.Current.BDDTestEndpointsInfo.EspaceName
TestSuiteScreen:ScanBDDTestEndpointsResponses.Current.BDDTestEndpointsInfo.WebFlows.Current.WebScreens.Current.Name
のように指定します。

あとは、RunTestSuiteの結果を一端Entityに格納するなどした上で、Processで開発者に結果確認タスクを降るなり、結果メール送信するなりすればいいでしょう。

応用的な利用方法の検討

本来、CI/CD ProbeのScanBDDTestEndpointsは回帰テストを専用環境で実行することが想定されています。
しかし、例えばScrumで開発しているとしたら、スプリント終了まで回帰テストが壊れていることに気づけないのは痛いですね。

そこで、開発環境に上記の通知まで行うTimerを日次でしかけておくと解決できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?