CircleCIでE2Eテスト自動化プラットフォームAutifyのE2Eテストをしているお話 / How Autify Autifies Autify using CircleCI

CircleCIでE2Eテスト自動化プラットフォームAutifyのE2Eテストをしているお話 / How Autify Autifies Autify using CircleCI

【オンライン】【ソフトウェアテスト自動化LT大会編】CircleCI コミュニティミートアップ

https://circleci.connpass.com/event/191289/

E2Eテスト自動化プラットフォームであるAutifyは、Autify自体のE2Eテストをどのようにやっているのか?その答えは、CircleCIでAutifyのテストシナリオを実行している、です!

開発フローの中でCircleCIと組み合わせてどのようにAutifyをAutifyしているのかご紹介します。

D98ee74ffe0fafbdc83b23907dda3665?s=128

doublemarket

October 26, 2020
Tweet

Transcript

  1. CircleCIでE2Eテスト自動化プラットフォームAutifyの E2Eテストをしているお話 オーティファイ株式会社 松浦隼人

  2. 自己紹介 自己紹介 松浦 隼人 • オーティファイ株式会社 • CTO • バックエンドエンジニア

    • Twitter : dblmkt • 趣味 : 翻訳
  3. エンドツーエンド(E2E)テスト、 してますか?

  4. E2Eテストはハードルが高い? E2Eテストはハードルが高い? • 手でやるのは工数がかかる • シナリオ作る・書くの大変 • 実行するの大変 • 作った後も大変

  5. E2Eテストはハードルが高い? - Autifyを使えば E2Eテストはハードルが高い? - Autifyを使えば • 手でやるのは工数がかかる ◦ 自動化しましょう!

    • シナリオ作る・書くの大変 ◦ テストシナリオ作成が簡単 • 実行するの大変 ◦ 複数のブラウザでテスト実行 • 作った後も大変 ◦ AIの力でシナリオ修正を支援
  6. AutifyのE2Eテストは?

  7. もちろんAutifyでやってます!

  8. 開発フロー 開発フロー Feature develop master (main) Feature Feature 本番環境 ステージング環境

  9. 開発フロー 開発フロー Feature develop master (main) Feature Feature 本番環境 ステージング環境

  10. 開発フロー 開発フロー Feature develop master (main) Feature Feature 本番環境 ステージング環境

  11. CircleCIのジョブ構成 CircleCIのジョブ構成 ユニットテスト実行 ステージングへ デプロイ E2Eテスト実行

  12. E2Eテストはハードルが高い? CircleCIでAutifyをAutifyする • ステージングにデプロイ(developへの マージ)時にAutifyをAutify • 実行開始時にSlackに通知

  13. E2Eテストはハードルが高い? CircleCI + Autifyでテストすることの利点 • ユニットテストによる機能の確認だけでなく、ユーザの視点で不具合がないかがわかる ◦ ステージングで動いたことを証明した上で本番にデプロイできる ◦ どのプルリクエストがどのような不具合を出したのかすぐにわかる

  14. E2Eテストはハードルが高い? CircleCIでAutifyをAutifyする - 効果 期待される結果 実際の結果(失敗)

  15. E2Eテストはハードルが高い? 注意点 • シナリオを複雑にしすぎない ◦ 実行に時間がかかる → フローを止めてしまう ◦ シンプルなシナリオを複数実行

    ◦ 複雑・長いシナリオは別に定期的に実行するなど
  16. E2Eテストはハードルが高い? 将来の夢 • ユニットテストと同じ頻度(プッシュごと)でE2Eテストしたい ◦ featureブランチごとにQA環境を立てる(整備中) • CircleCI Orb •

    GitHub App
  17. None