🍎

mabl experience japan 2022 に登壇しました!&いただいた質問にお返事します

2022/12/02に公開

こんにちは!honaminです。
先日E2Eテスト自動化ツールmablを提供している、mabl Inc.主催のmabl experience japan 2022に登壇してきました!

当日の資料はこちらからご覧いただけます。
https://speakerdeck.com/honamin09/flowgai-shan-nodao-nori

当日全ての質問に回答させていただく時間が十分に取れなかったため、この場で回答させていただければと思います。

フロー改善の道のり、大変興味深いです。 お仕事の中で、フローの見直しは、テスト全体を見ながらの人力作業になるかとお見ますが、honaminさんおひとりでしておられますか? それともチームで見直しをしておられますか?

前提としてmabl自体は開発チーム全体で自由にテストやFlowなどを修正・追加していい運用としています。ただし、定常運用するテストだけは決まっています。

もともとFlowが細分化されておらず、具体的にはプロダクトのサイドバーのメニュー構成ががらっと変更になる際に、その部分をクリックしている操作が埋め込まれているFlowやテストを全て修正しなければならないという体験を経て、今の構成にいたりました。

その時はチームのエンジニアさんが修正案を提案してくれて、一緒に作業をしていたので、おひとりというわけではなさそうですwいつも困ったらチームのみなさんにたすけていただいています!(感謝!)

実際にAuto Healingが有効に働いたシチュエーションはありましたか?

これについては実はまだ恩恵を受ける場面を経験していません。Auto Healingの精度がうんちゃらという話ではなく、有効に働かせられる構成になりきれていないのが原因です。。。精進しなければ・・・。

flowの命名をどうしてるのか知りたいです!

Flowの命名、難しいですよね!めっちゃわかります!
登壇当日は「click」「input」など簡単なものにしていきたいとお話ししたのですが、実運用ではもう一つルールがあって、操作する画面名をFlowの名前にいれています。複数の画面で使えるものには共通としてます。

従業員一覧:指定した従業員を選択

みたいな感じです。
ただ日本語だと「選択」がクリックなのかはたまた範囲選択なのか、チェックボックスにチェックをいれるのか、かなり色々な捉え方ができてしまって、曖昧性が残るので、もうちょいシンプルにできんかと考え中です。今後Globalチームになっていくことを考えると、英語でシンプルなものにしたいとおもってます。

ClickやInputをFlowに切り出す利点がまだ理解出来なかったです。ボタンの位置が変わりそうで、、、。どういう効果が見込めそうでしょうか。

ボタンの位置が変わるから意味があると思っているのですが、捉え方がちがっていたらごめんなさい!ここだけの話、従業員をクリックしたり、その中の詳細をクリックしたりするのには実際はもうちょっと工夫を加えていて、Xpathの要素を利用しています。

具体的には

Click on first element matching xpath "//*[contains(text(), "{{@flow.employeeNumber}}")]"

指定した従業員番号を探してクリック

Click on first <a> element matching xpath "//div[contains(@class, 'card-header')]//div[contains(text(), '{{@flow.category_name}}')]/following-sibling::a"

指定したカテゴリ名が含まれるカードの詳細をクリック

みたいな感じです。これも気づいたらエンジニアさんが作ってくれてました(神)

資料中では「特定のリンク」が含まれる場合きり出すといいよーと書いていたのですが、正しくは「他のテストでもクリックしそうな特定のリンク」と言った方が正しいと思います。
Assert以外でどこかで2回以上使うものは総じてFlow化する、という信念でやってます。(何箇所も修正したくないマン)

ログインのとき、事前に多要素認証を外されたのでしょうか?

多要素認証について利用していませんという回答をしたのですが、正しくは検証環境のため、設定していません。となります。

作成したflowの管理、チームでの運用方法について、ナレッジがあればお伺いしたいです

管理方法の明文化までは至っていないというのが正直なところです。
個人的にはとんでも考えられていないFlowが量産されたり、重複Flowがたくさんできたりしなければ、そこまで厳密にルール化したくないと思っています。ルール化すればするほど、どんどん触りにくくなっていくと思うからです。なので、無法地帯化しないようにちょいちょい確認しつつ、ちょいちょいお世話をして、最低限のルール(命名規則や重複は避けてねなど)は決めておくけれども、基本的には自由に追加修正していいですよにしておきたい気持ちです。

以上です!またお会いしましょう🙌

Discussion