フロー動作の確認
学習の目的
この単元を完了すると、次のことができるようになります。
- フローのテストケースを特定する。
- フローインタビューとは何かを説明する。
- Flow Builder でフローをテストする。
システム管理者または開発者であれば、いかなるカスタマイズであっても、ユーザーにロールアウトする前にテストする必要があることはご存じだと思います。そしてそれはフローも同じです。テストにより、フローの挙動を微調整し、バックグラウンドを特定して修復することで、ユーザーエクスペリエンスの成功を保証します。そしてもちろん、後でユーザーからの苦情メールに対応しなくても済みますので、あなた自身にもメリットはあります。
始める前に
この単元を始める前に、「簡単なフローの作成」プロジェクトを受講することをお勧めします。この単元は、先行のプロジェクトで学習した内容を基に構成されています。
テスト計画の作成
テストを開始する前に、テストケースのリストを考えて、どのような結果を期待するかを明確にしておきます。次のような要因を検討してください。
- どのようなときにアクションが実行されることを期待するか
- どのようなときにアクションが実行されないことを期待するか
- 数式がどのように解かれるか
「簡単なフローの構築」の例を基にこのモジュールで取り組む「新規取引先責任者」フローには、次の 4 つの主なテストケースがあります。
トグル設定 |
一致するレコード |
期待される結果 |
---|---|---|
オフ |
存在しない |
取引先責任者が作成される。 |
オフ |
存在する |
取引先責任者が作成される。 |
オン |
存在しない |
取引先責任者が作成される。 |
オン |
存在する |
取引先責任者が更新される。 |
テストする内容が決まったら、実際にフローをテストします。
Flow Builder のテストオプション
フローの動作は、Flow Builder 内でテストできます。ボタンバーには、フローを実行するための [実行] と [デバッグ] の 2 つのボタンがあります。
-
[実行] で、開いているフローの最後に保存されたバージョンを実行します。
-
[デバッグ] は、[実行] と同じ動作を実行しますが、追加の機能があります。フローの実行中に、フローの入力変数に値を入力して、デバッグの詳細を表示することができます。こうすることで、フローがどのようにデータを処理するかを検証できます。
メモ
[デバッグ] をクリックし、詳細表示を選ぶと、フローの画面 (1) とデバッグ詳細 (2) が表示されます。フローを進むと、右側のパネルに新しい詳細が追加されます。
フローインタビューの紹介
フローが実行されるたびに、フローインタビューが開始されます。フローインタビューは、フローのインスタンスです。
ゲームブックで遊んだことはありませんか? フローはこの本と似ていて、選択が読者に委ねられ、それぞれの選択に対して指示が与えられます。フローインタビューとは、この本のストーリーテラーに相当します。読み進めるうちに、選択肢が出てきて、読者の選択肢に応じた手順に進みます。本を読む度に、あるいは読む人ごとに異なる選択肢を選ぶことで、ストーリーも変わってきます。
フローインタビューも同じです。インタビューで画面上の入力変数や入力コンポーネントで異なるデータを提供すると、フローの異なるパスが選択され、異なるアクションが実行されます。
では、テストプランの 4 つのケースで、実際のインタビューの動作を見てみましょう。
Flow Builder でのフローのテスト
- Flow Builder で [デバッグ] をクリックします。2 番目のチェックボックスが選択されていることを確認してください。そうでないと、デバッグの詳細が表示されません。このフローにはサブフロー要素や入力変数がありませんので、これらの設定は気にしないでください。
-
[実行] をクリックします。
- 最初のテストケースを検証します。
- 名と姓を入力して、取引先を選択します。
- トグルは未選択のままにします。
-
[次へ] をクリックします。
- デバッグの詳細を確認します。
1 つ目のカードに、フローインタビューを開始したユーザーが表示されます。ここではあなたが開始したため、あなたの名前とユーザー ID が表示されます。
2 つ目のカードには、画面からの入力をフローインタビューで使用するためにどのように格納したかの要約が示されます。たとえば、ここではトグルを選択しなかったため、{update_toggle} 値が false に設定されています。3 つ目のカードには、画面で使用されている入力と一致するものがある場合に、既存のレコードが表示されます。ここでは、使用されている入力と一致するものが見つからなかったため、「レコードが見つかりませんでした」というメッセージが表示されます。4 つ目のカードには、「更新か作成か?」の決定がどのように評価されたかの要約が示されます。{!update_toggle.value} が false であったため、このインタビューは [Create New (新規作成)] パスから直接 [Create Contact (取引先責任者を作成)] 要素に進みます。5 つ目のカードは、「Create Contact (取引先責任者を作成)」要素の概要です。このインタビューでは、{!contact} 変数の値を使用して取引先責任者レコードを作成しています。
- 名と姓を入力して、取引先を選択します。
テストの詳細を確認したら、このテストケースで予想される結果を確認します。結果を確認するには、次の手順を実行します。
- デバッグ詳細の末尾に [Transaction Committed (トランザクションがコミットされました)] カードが表示されていることを確認します。
- Flow Builder を終了します。
- [Setup (設定)] ページ、レコードページ、ホームページのいずれかで、 をクリックしてアプリケーションランチャーを開き、[Sales (セールス)] を検索して選択します。
-
[取引先責任者] タブをクリックします。
- [最近参照したデータ] リストに、入力した内容と一致する名前で、選択した取引先の子である取引先責任者が表示されます。
- 他の 3 つのテストケースでも同じ手順を繰り返します。一致するレコードを含むケースでは、最初のテストケースと同じ名前、名字、そして取引先責任者を使用してください。
いずれかのテストケースで予想外の結果となった場合は、[デバッグの詳細] で前に戻って原因を突き止めてください。すべてのテストケースが正常に完了したら、フローをユーザーに渡すことができます。