効果的に使用すると、フローは、チームの自動化テスト戦略において力を倍増させることができ、時間を節約し、カバレッジを増やすことができます。mablのワークスペースでフローを最大限に活用するために、次のベストプラクティスをお勧めします。
命名規則を使用する
新しいフローを作成する際に自問すべき質問は、「このフローをどのように命名すれば、見つけやすく、何をするものか理解しやすいか?」です。
チームと協力して、次のような高レベルで確認したい情報をすべて含むフロー命名テンプレートを作成してください。
- このフローを使用するアプリケーション(該当する場合)
- フローのモジュールまたは注力領域
- フローの目的または結果
- フローがパラメータを使用するか、新しい値を作成するか、他のフローと連携するか、ループするか
mablでは、フローの命名に次のテンプレートを使用します:(#/#) (タイプ) - アプリケーション - アクション (パラメータ) ( => 出力)。このテンプレートは、フローが何をするのかを迅速に理解するのに役立ちます。
例えば、フロー名(1/2) アプリ - サインアップ - 新しいトライアルユーザーを作成は、次の詳細を伝えます。
- これは別のフロー - (1/2) - と連携して動作し、最初に使用する必要があります。
- mablアプリケーションのサインアップフォームで使用されます
- その目的は、新しいトライアルユーザーを作成することです
別の例として、フロー名関数 - ユニークID - 短いタイムスタンプ - フォーマット: ‘22-09-07 11:34.11’ (=> short_timestamp)は次の情報を伝えます:
- 一意のIDを生成する関数のように機能します
- フローの出力は特定の形式の短いタイムスタンプです
フローが既に存在するか確認します
新しいフローを作成する前に、ワークスペースに既存のフローがあり、それをインポートできるかどうかを確認してください。この方法は、ワークスペースが多くの類似したフローでいっぱいになるのを防ぎ、チームの他のメンバーが適切なフローをインポートしやすくします。
チームが一貫してフローの命名規則を使用する場合、フローが既に存在するかどうかを知るのが容易になります。
フローがすでに存在するかどうかを確認することで、ワークスペースに多くの冗長なフローが含まれるシナリオを回避できます。以下に例を示します。
どのフローを選びますか?
フローは1つのことに集中させる
ワークスペースでフローを最大限に活用するには、各フローが1つの特定のことを達成することに集中していることを確認してください。フローが多くの異なるタスクを達成すると、再利用性が低くなります。
たとえば、1つのフローでアイテムをカートに追加し、取引を完了するのではなく、各タスクに焦点を当てた2つの別々のフローを作成します。そうすることで、より多様なテストシナリオにフローを再利用できます。「カートに追加」フローは、カートからアイテムを削除したり、カートの数量や内容を変更したりするシナリオと組み合わせることができます。
異なるデータを扱うためにパラメータを使用する
フローをさらに多用途にするために、フロー内で使用されるデータを制御するパラメータを追加します。たとえば、製品を検索するフローでは、{{@flow.query}}
を検索し、{{@flow.expected_value}}
が結果の1つであることを確認するためのパラメータを追加できます。パラメータを使用すると、フローをデータ駆動テストに設定して、より広範なシナリオをカバーできます。
フローパラメータを活用する
「オーバーフロー」を避ける
フローの主な目的は、テストカバレッジを効率的に追加および維持することです。使用されないフローを作成するのに時間を費やすと、テストの作成に必要以上の時間がかかります。この習慣は「オーバーフロー」として知られています。
フローから最大の利益を得て「オーバーフロー」を避けるために、チームと協力してフローをいつどのように使用するかを定義してください。テストステップのシーケンスをキャプチャすることが理にかなっている場合にのみ、フローを作成します。例えば、次のような状況です。
- 再利用されることを知っているステップを作成する
- データ生成または操作に使用される一連のステップをキャプチャする
- 複雑なテストロジックの構築
他のテストでテストステップを再利用できるかどうか確信が持てない場合は、フローを作成しないでください。代わりに、そのテストを記述して実行し、そのテストカバレッジから価値を得ていることを確認することに集中してください。たとえ似たステップを持つ複数のテストを作成することになったとしても、その間により多くのテストが記述され、自信を持ってリリースできるようになります。
失敗を追跡する
「オーバーフロー」の落とし穴を避け、一度しか使用されないフローに時間を費やさないようにするには、失敗を追跡してください。同じステップのシーケンスで全て失敗するテストのグループを考えてみましょう。製品のどこが壊れているかを知るだけでなく、テストのどの部分が重複しているかもわかります。失敗しているステップがまだフローになっていない場合、これはフローを使用する最適なタイミングの一つです。
1つのテストをフローで修正し、他のテストをより効率的に修正できます。そうすることで、複数のテストに役立つことがわかっているフローを作成したことになります。