Decision table(ぽいやつ) から Given , When and Then 形式のシナリオに変換するツールを作ってみた


まずはとにかく使ってみてください!

  • 手順1. sample_dt.xlsxのダウンロード
  • 手順2. お好きなように修正してください。
  • 手順3. Table to Markdownを開いてください
  • 手順4 手順2の成果物を "Paste Table Here!"にコピーする。(最初の行を忘れないでください)
  • 手順5. "Convert M↓"をクリック
  • 手順6. "Copy"をクリックします。
  • 手順8. Dtgwtのページに移動
  • 手順9. 手順6を"textarea"にコピーします。
  • 手順10. "Scenario output "をクリックします。
  • 手順11. 好きなように "Output Scenarios "をコピーします

背景

アプリ

さて、フォームが一つでボタンが2つのシンプルなアプリがあったとします。

  • 初期値として数字の"0"が入力されていて
  • "+"ボタンを押すとインクリメントされ
  • "-"ボタンを押すとデクリメントされます
  • 数字の最小値は"0"で
  • 数字の最大値は"255"です
  • 数字以外の文字が入力されたら"Invalit value"と表示されます

ディジョンテーブル

あなたはこのアプリをテストするために下記のようなデシジョンテーブル(っぽい)ものを書きました

Condition
Initial input is "0" Y Y Y Y
Initial input is "1" Y Y
Initial input is "254" Y Y
Initial input is "255" Y Y
Action
Click "+" Y Y Y Y
Click "-" Y Y Y Y
Modify Initial input to "AB" Y
Modify Initial input to "1%" Y
Result
Input 1 0 2 1 255 253 255 254 0 0
Error Message N/A N/A N/A N/A N/A N/A N/A N/A Invalid Input Invalid Input

問題

しかし、テスト管理ツールは下記のようなフォーマットでシナリオベースに書き直さないといけませんでした。
つまり下記のような形式に変換するひつようがあります

Scenario No Test conditions Step description Step expected result
1 Given Initial input is "0" When Click "+" Then Input:1 and Error Message:N/A
2 Given Initial input is "0" When Click "-" Then Input:0 and Error Message:N/A
3 Given Initial input is "1" When Click "+" Then Input:2 and Error Message:N/A
4 Given Initial input is "1" When Click "-" Then Input:1 and Error Message:N/A
5 Given Initial input is "254" When Click "+" Then Input:255 and Error Message:N/A
6 Given Initial input is "254" When Click "-" Then Input:253 and Error Message:N/A
7 Given Initial input is "255" When Click "+" Then Input:255 and Error Message:N/A
8 Given Initial input is "255" When Click "-" Then Input:254 and Error Message:N/A
9 Given Initial input is "0" When Modify Initial input to "AB" Then Input:0 and Error Message:Invalid Input
10 Given Initial input is "0" When Modify Initial input to "1%" Then Input:0 and Error Message:Invalid Input

あなたはおもむろにxlsxに新しいタブをつくり
一つ一つ目で見ながら変換していきます

非常にめんどくさいですよね

解決策

上記のような問題を解決するべく簡単なWebアプリを作ってみました。

入力もmarkdownというのが実に使い勝手悪いですが(笑)
そのうち、xlsx->markdownに変換するツールでも作ってそこは解消しようと思います
(2022 Feb 13 解消しました)

ソースコードはこちらで
実際のアプリは
こちら
です

2時間くらいでカッとなってつくったので色々アレだと思いますが
なにかお気づきの方は Pull Request お待ちしております