この記事はREADYFORアドベントカレンダー2021の記事です。
こんにちは!READYFORでパートタイムQAエンジニアをしている @afracs です。
本記事は、私が副業で関わっている会社でのAutifyの使い方を整理していく記事となります。
この記事の続きとして、明日公開予定の 複数会社でAutifyを使っているので、それぞれの使い方や目的を比べてみた を書いているので、一緒に読んでいただけると嬉しいです。
###READYFORでの使い方
まずはREADYFORでのAutifyの使い方を整理していきます。
####Autifyを使う人・目的
高頻度でリリースがあるため、実装→テスト→リリースまでのサイクルを速く回せるようになりたい!という考えの元で、テストをどうにか早く・楽にできる方法はないか?と探した結果、Autifyを使うことになりました。
※この辺の話は去年のアドベントカレンダー記事にまとめているのでご興味ある方はこちら
READYFORでは、主要なユーザーペルソナである支援者と実行者が使う主要サービス導線を「王道フロー」としてe2eシナリオを組んでいます。
このe2eシナリオの実行時間がそれなりに長くかかってしまう&網羅率を上げすぎるとメンテナンスが大変になるため、主要王道フローの実行結果がOKであればリリースする、という運用をしています。
回すシナリオはテストプランを組んでいるので、それを実行すれば全部回るようになっています。
また、この王道フローシナリオは定期実行にも乗せており、予期しない機能破壊が起きていないことの担保としての役割も担ってたりします。
###Autifyがあるメリット
手動テストだけだと、開発メンバーのリソース・エネルギーを手動テストにかけなければならなかったのですが、Autifyがあることによって、それを代替することができるようになっています。
例えば、以下のような開発をするときに重宝します。
・振る舞いは変わらないが内部的には変更が結構あるものリリースがしやすくなった
・作りながらテストして(関係ない所を)壊してないか確認できる
・リファクタ、モジュール疎結合化対応
・対応期間が長いPJなど
とはいえ、手動テスト部分はなくならないので、細かい確認についてはきちんとテストフェーズを設けて検証しています。
###課題感
導入したので全てがうまくいっているかというと、やはり運用面の課題は尽きないもので。。。
大きな課題としてはやはり「シナリオメンテの手が回らない」という所です。
READYFORではフルタイムのQA専任のメンバーがいないため、細々した修正メンテが滞りがち、、、という課題を抱えています。
この課題を解決するために、最近では開発メンバー(PdM、設計・実装するメンバー)へ、簡易な修正はメンテをお願いするようにし始めました。
機能を作ることに集中したい気持ちはよくわかるのですが、、、、如何せん手が回っていないので、無理を言ってお願いしている現状ではあります。。。(皆に大感謝!!!)
###将来的にやりたいこと
ここからは私の野望というか理想というか、、、別のところでもちらっと発言してしまったのですが、、、
e2eテストの作成がだれでもできるようになること
だったりします
壮大に出たな?とお思いのそこのあなた!・・・正解です!
まあ、実現方法とか目標時期とは全然考えてません(何せ壮大ですから)
まずは、自分以外の人がAutifyシナリオをメンテできるようになることが第一歩目の足がかりかなーと思っているので、上述したお願いを開発メンバーにしている感じです。
以上、ここまで読んでくださった方、ありがとうございました!
良ければ明日公開の記事も一緒に読んでいただけると幸いです。