概要
このレッスンには、テストのフローを理解して利用するのに役立つ内容が盛り込まれています
このレッスンを受講する前に
以下のレッスンを修了していると、ここでの学習効果が一層高まります。
- mablアプリケーションの概要
- mabl Trainerの概要
こちらをクリックすると、利用可能なすべてのレッスンが表示されます。
学習目標 🧠
以下の項目について理解を深めます。
- フローとは何か
- 基本的な使用方法
- テストにおいて価値がある理由
フローの主なメリット 💰
- テストの管理と整理が簡単
- テストのスケーラビリティの向上
- 迅速なテスト作成
一般的なフローのユースケース 👍
- アプリケーションへのログイン/ログアウト
- フォームへの入力
- Eコマースのチェックアウトプロセス
これが重要である理由
すべてのテストには、繰り返しがあります。
効率的な方法がない場合は、以下のような手順になります。
- 繰り返されるアクションを再利用可能にします。
- アプリケーションの変更時に一括で編集します。
...さらに、こうしたアクションを最初から何度も繰り返して実行すると、テストにかかる時間、労力、メンテナンスの負荷が増えることになります。
DRY (Don't Repeat Yourself: 繰り返しを避けること) の原則に従い、同じことを繰り返さないようにします。
「...ソフトウェアパターンの繰り返しの削減、抽象化への置き換え、データの正規化の使用により、冗長性を回避することを目的としたソフトウェア開発の原則」
フローを使用して、同じことの繰り返しを避けてください。
引用元: Steven Foote (2014)、『Learning to Program』、Addison-Wesley Professional、336ページ
フローとは
フロー - 特定のアクションを実行するための再利用可能なステップのグループ。
フローで実行できること
- 同じアクションを実行する必要がある他のテストにインポート
- 同じテストに複数回インポート
- 1つのフローに変更を加えることで、フローのすべてのインスタンスを編集
- データ入力でのパラメーター化
- 指定した回数でループ
(このレッスンでは、ループについて詳しく説明します)
フローの使用方法
- 基本フローの作成:
- 新しいステップの記録
- 既存のステップの変換
- フローのパラメーター化:
- パラメーターとは
- 設定方法
- フローの再利用:
- 基本フローのインポート
- パラメーター化されたフローのインポート
ログインの例を使用し、それぞれについて説明します...
基本フローの作成
新しいステップの記録
- [More actions] に移動します。
- [Flows] ドロップダウンを選択します。
- [New Flow] を選択します。
- フローに名前を付けます (実行するアクションに合わせた明確な名前にします)。
- 記録がオンになった状態で、フローのステップの記録を開始します。
- ✅ ベストプラクティス: 最後のステップとしてアサーションを追加
- 終了したら、紫色の「End Flow」ステップの後にカーソルを移動して、テストを続行します。
既存のステップの変換
- フロー内に作成する既存のステップグループを特定します。
- ステップの左側にあるチェックボックスを使用して、それぞれ選択します。
- [Create Flow] ボタン ([SAVE] ボタンの上の右端) をクリックします。
- フローに名前を付けます。
- これで完了です。🤘
パラメーター化されたフロー:
パラメーター化されたフローとは
パラメーターはフロー内にのみ存在する変数です。その特定のフロー内で使用されるデータを制御できます。
パラメーターの特徴を以下に示します。
- すべてのパラメーターには名前とデフォルト値があり、フローと同期されます。
- パラメーターの値をオーバーライドすることで、フローで使用するデータを変更できます。オーバーライドは一意であるため、同じフローの複数のインスタンスはすべて異なる値を使用できます。
- パラメーターがなければ、フローは実行のたびに同じ操作を繰り返すことになります。
- パラメーターを使用して、データテーブルを取り込むことができます (データテーブルのレッスンを参照)。
設定方法
- 前述の「基本フローの作成: 新しいステップの記録」と同じ手順を実行します。*ハイパーリンクを作成*
- パラメーターを選択します。
- 変数名とデフォルト値を入力します。
- 必要に応じて、対応するパラメーターを変数として使用し、フローの記録を開始します。
- 鉛筆アイコンをクリックしてフローを編集すれば、いつでもパラメーターを設定できます。
フローの再利用
基本フローのインポート
- 1. [More actions] に移動します。
- リストから [Flows] を選択します。
- [Import Flow] をクリックします。
- フローを名前で検索して選択し、[Import flow] をクリックします。
- 変更したい場合は、左矢印をクリックしてフローを展開します。変更がない場合は、フローのステップの後にカーソルを移動して、次に進みます。🛠
パラメーター化されたフローのインポート
- 手順に従って、基本フローをインポートします
- デフォルト値をオーバーライドするには、フィールドに新しい値を入力します。
- デフォルト値を維持するには、何もせずに [Done] をクリックします。
- フローを再生して正しい値が使用されていることを確認し、準備が完了したら次に進みます。➡️
フローのベストプラクティス
一般的なヒント
- 「Start flow」ステップの左側にある矢印をクリックすると、展開/折りたたみが可能です。
- ごみ箱アイコンをクリックすると、ステップが通常に戻ります。これにより、記録されたステップは維持されますが、フローは削除されます。
- 鉛筆アイコンをクリックすると、フローのプロパティ (名前、パラメーター設定、ループ設定) を編集できます。
- [Start flow] ステップの右側にある [More actions] をクリックすると、より高速なナビゲーションオプションにアクセスできます。
- [More actions] に移動し、[Remove flow] をクリックすると、フローとステップの両方が完全に削除されます。
mablアプリケーションからのフローの操作
- フローへのアクセス
- [Tests] タブに移動します。
- [Flows] セクションをクリックします。
- ここからリストを検索して、フローが使用されているテストを確認し、必要に応じてフローを削除できます。
- フローの管理
- フロー名をクリックすると、詳細が表示されます。
- このフローを使用しているテストを確認します。
- バージョン履歴を確認し、必要に応じて以前のバージョンにロールバックします。
まとめ
フローは以下のような点で役立ちます。
- 繰り返されるアクションを再利用可能にし、テスト作成の時間を節約
- 複数のテストを同時に編集し、メンテナンスコストを削減
- テストケースごとにデータの使用方法を制御し、少ないリソースでテストカバレッジを拡大