mablのデータテーブルを使ってテストデータ管理を行う #mabljapan

mablのDataTableを使ってテストデータを管理してみます。

DataTable

データテーブルはConfigurationから作成できます。

ここでは上記のようにログインフォームのバリデーションをチェックするデータテーブルを作ってみました。JSだと空文字判定が複雑になるので、入力がない場合は「-」を設定して判別できるようにしています。シナリオが4つあるので、このデータテーブルをテストの入力にすると、4シナリオを並列実行できるようになります。

それではテストを見てみましょう。単純にログインをするテストです。mablは機能を試せるようにSandboxページを提供しています。その中にあるサンプルログインフォームを使って上記のテストを作成しました。

データテーブルの値はemail、password・・・と列の見出し名で変数が作成され、テスト内でアクセスできます。よって、入力値でVariableを選べば、プルダウンに表示されるはずです。

注意点としてはローカルで実行するときは、データテーブルの1つ目のシナリオデータが渡されます。ローカルで動作を確認して、クラウド上で並列実行するイメージです。

データテーブルはテストに紐付けられます。複数指定も可能です。詳しくは テストにDataTableを関連付けて実行 も参考にどうぞ。

データを紐付けると上記のように表示されます。

データシナリオ付きのテストを実行する場合は、チェックボックスにチェックを入れて実行するだけ。シナリオの数(ここでは4シナリオ)を自動並列実行してくれます。便利!

ただし、mablは実行回数が料金に直結するので、安易にシナリオを増やすとすぐに実行回数が足りなくなってしまうので注意が必要です。

今回はログインフォームのバリデーションのバリエーションを確認していますが(ややこしい!)、ブラウザレベルのE2Eは正常系ひとつと異常系ひとつぐらいにして、あとはAPIテストでカバーするほうが、E2Eの数も減らせますし、安定性も増します。

mablはAPIテストも充実しているので、詳細はAPIテストの概要を参考にどうぞ。