BDDFrameworkを試してみる(1)

OutSystemsで単体テスト向けに勧められているテストツール、BDDFrameworkの使い方を確認してみます。

BDDとは

Behavior Driven Developmentの頭語。

OutSystemsのオリジナルの用語でなく、TDD(Test Driven Development)からの流れで作られた概念のようです。

テスト駆動開発(オーム社)の付録C 訳者開発にこのあたりの流れの解説がありました。

テストという用語が与える先入観が誤解を与えるとして、

テスト や アサーション といった 語彙 を( 構造 は 変え ず に) 別 の 言葉 に 置き換える こと で、 先入観 による 誤解 を 避け、 TDD 改め BDD の 強み を 最大限 に 引き出す こと を 狙っ た の です。

KentBeck. テスト駆動開発 (Kindle の位置No.5097-5098). Kindle 版.

と再定義されたとのこと。

インストール

Forgeからインストールします。

2018/12/24現在Ver10まで対応ですが、バージョン違いの警告こそ出るものの、Ver11のPersonal Environmentにインストールできました。

ここで書いていくようなことは、ODCのセッションでも説明されたようです。

Automating Regression Testing

英語です。YouTubeなので字幕は出せますが。

テストの流れ

  1. テスト対象モジュールとは別のアプリケーションにテストモジュールを作成します(同じアプリケーションにするとLifeTimeで環境移行するときに一緒に上がってしまうため)
  2. テストモジュールでBDDFrameworkを参照します
  3. テストケースの1まとまりごとにScreen(画面)を作成
  4. 作成した画面にテストケースを作成していきます
    1. 1ケースに対応するのがBDDScenario Block。これを画面にドロップ
    2. Givenを用意します
      1. Givenでは、そのテストケースの前提条件の成立を確認します
      2. テストケースの前提条件を確認する(また、後で検証に使うデータを保存する)Actionを作ります(名前はケース名_Givenのようにするとわかりやすい)
      3. BDDScenarioのGiven PlaceholderにBDDStep Blockを配置
      4. BDDStepのDestinationに用意したActionを設定
    3. Whenを用意します
      1. Whenはテストケースの操作部分(○○したら、××する。の○○の部分です)
      2. 後はGivenの場合と同じ
    4. Thenを用意します
      1. Thenは実行結果の検証をする場所です(NUnitならAssertする場所)
      2. 後はGivenの場合と同じ
    5. 必要ならSetup, Teardownを用意(同じようにPlaceholderがあります。配置するBlockはSetupOrTeardownStepです
  5. テストケースの作成ができたら、1-Click Publishしてブラウザで画面を開くとテストケースが実行されます

BDDScenarioにGivenだけ配置した画面

BDDFrameworkを試してみる(2)で1ステップずつ手順を確認してみます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする