ステップグループとフローはどちらもテストステップの整理に役立ちますが、それぞれ異なる目的を持っています。
- ステップグループは、テスト内のステップにラベルを付けて構造化し、読みやすくするための簡易的な方法です。
- フローは、独自のバージョン管理、パラメータ、およびループ機能を備えた、再利用・共有可能なステップのセットです。
この記事では、それぞれをいつ使用するか、またどのように組み合わせて活用できるかについて説明します。
ステップグループを使用するタイミング
主な目的が読みやすさとナビゲーションの改善である場合は、ステップグループを使用してください。ステップグループは次のような場合に最適です:
- テストのセクションにラベルを付ける - 「ログイン」や「チェックアウトを完了する」などのわかりやすいヘッダーの下に関連するステップをグループ化することで、テストの構造をひと目で確認できます。
- 長いテストの整理 - 30ステップのテストを名前付きセクションに分割することで、テスト出力で失敗箇所をすぐに特定できます。
- チームがテストにアクセスしやすくなります - 新しいメンバーは、個々のステップをすべて確認しなくても、ステップグループのラベルをアウトラインのように読むことができます。
- AIが生成するテストへのコンテキストの提供 - テスト作成エージェントは、生成されたステップを自動的にステップグループに整理し、最初から構造を提供します。
フローを使用するタイミング
ステップのセットを再利用、パラメーター化、またはループ処理する必要がある場合は、フローを使用してください。フローが適切な選択肢となるのは、次のような場合です。
- 複数のテストが同じステップを共有できます。「ログイン」フローは、数十のテストにわたって参照できます。一度更新するだけで、それを使用するすべてのテストに変更が反映されます。
- ループが必要な場合。 フローは、固定または可変回数の繰り返しに対するループをサポートしています。ステップグループはループをサポートしていません。
- スコープ付き変数が必要な場合。 フローパラメーターを使用すると、コンテキストに応じて同じステップのセットに異なる値を渡すことができます。ステップグループはパラメーター化できません。
- 独立したバージョン管理が必要な場合。 フローには独自のバージョン履歴とブランチサポートがあります。ステップグループは、テストの一部としてバージョン管理されます。
ステップグループとフローの相互補完
ステップグループとフローは相互に排他的ではありません。フロー内にステップグループをネストしたり、フロー内にステップグループを配置したり、条件分岐と組み合わせたりすることができます。一般的なパターンをいくつか紹介します。
フローをステップグループにまとめる
関連するフローをステップグループ内にまとめることで、ステップとフローの関係を整理できます。
たとえば、「Complete checkout」ステップグループには以下が含まれる場合があります。
- 再利用可能な「クーポンを適用」フロー
- 配送方法を選択するための単発のステップ
- 再利用可能な「支払い情報を入力」フロー
複雑なフローを整理する
再利用可能なフロー内にステップグループを追加して、ナビゲーションをより簡単にしましょう。
たとえば、複数のステップを含む「新規ユーザーアカウントの作成」フローは、次のようなステップグループに分割できます。
- 「プロフィール情報を入力する」
- 「通知設定を行う」
- 「利用規約に同意して送信」
条件分岐と組み合わせる
ステップグループやフローと組み合わせて条件分岐を使用し、さまざまなシナリオに対応しましょう。
たとえば、条件分岐を使用してログイン中のユーザーが管理者か標準ユーザーかを確認し、各シナリオでステップグループを使用してロール固有のアクションを整理したり、ログインなどの共通ステップを処理するための共有フローを使用したりすることができます。
比較
以下の表は、ステップグループとフローの主な類似点と相違点をまとめたものです。
| 機能 | ステップグループ | Flow |
|---|---|---|
| Trainerの折りたたみと展開 | はい | はい |
| ループ処理 | いいえ | はい |
| パラメーター | いいえ | はい |
| 独立したバージョン管理 | いいえ | はい |
| 他方を含むことができる | はい、ステップグループにはフローを含めることができます | はい、フローにはステップグループを含めることができます |
| 自身の内部にネストできます | はい | いいえ |