【オンライン】【ソフトウェアテスト自動化LT大会編】CircleCI コミュニティミートアップ
https://circleci.connpass.com/event/191289/
E2Eテスト自動化プラットフォームであるAutifyは、Autify自体のE2Eテストをどのようにやっているのか?その答えは、CircleCIでAutifyのテストシナリオを実行している、です!
開発フローの中でCircleCIと組み合わせてどのようにAutifyをAutifyしているのかご紹介します。
CircleCIでE2Eテスト自動化プラットフォームAutifyのE2Eテストをしているお話オーティファイ株式会社 松浦隼人
View Slide
自己紹介自己紹介松浦 隼人● オーティファイ株式会社● CTO● バックエンドエンジニア● Twitter : dblmkt● 趣味 : 翻訳
エンドツーエンド(E2E)テスト、してますか?
E2Eテストはハードルが高い?E2Eテストはハードルが高い?● 手でやるのは工数がかかる● シナリオ作る・書くの大変● 実行するの大変● 作った後も大変
E2Eテストはハードルが高い? - Autifyを使えばE2Eテストはハードルが高い? - Autifyを使えば● 手でやるのは工数がかかる○ 自動化しましょう!● シナリオ作る・書くの大変○ テストシナリオ作成が簡単● 実行するの大変○ 複数のブラウザでテスト実行● 作った後も大変○ AIの力でシナリオ修正を支援
AutifyのE2Eテストは?
もちろんAutifyでやってます!
開発フロー開発フローFeaturedevelopmaster(main)FeatureFeature本番環境ステージング環境
CircleCIのジョブ構成CircleCIのジョブ構成ユニットテスト実行ステージングへデプロイE2Eテスト実行
E2Eテストはハードルが高い?CircleCIでAutifyをAutifyする● ステージングにデプロイ(developへのマージ)時にAutifyをAutify● 実行開始時にSlackに通知
E2Eテストはハードルが高い?CircleCI + Autifyでテストすることの利点● ユニットテストによる機能の確認だけでなく、ユーザの視点で不具合がないかがわかる○ ステージングで動いたことを証明した上で本番にデプロイできる○ どのプルリクエストがどのような不具合を出したのかすぐにわかる
E2Eテストはハードルが高い?CircleCIでAutifyをAutifyする - 効果期待される結果 実際の結果(失敗)
E2Eテストはハードルが高い?注意点● シナリオを複雑にしすぎない○ 実行に時間がかかる → フローを止めてしまう○ シンプルなシナリオを複数実行○ 複雑・長いシナリオは別に定期的に実行するなど
E2Eテストはハードルが高い?将来の夢● ユニットテストと同じ頻度(プッシュごと)でE2Eテストしたい○ featureブランチごとにQA環境を立てる(整備中)● CircleCI Orb● GitHub App