Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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しているのかご紹介します。

doublemarket

October 26, 2020
Tweet

More Decks by doublemarket

Other Decks in Technology

Transcript

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

    View full-size slide

  2. 自己紹介
    自己紹介
    松浦 隼人
    ● オーティファイ株式会社
    ● CTO
    ● バックエンドエンジニア
    ● Twitter : dblmkt
    ● 趣味 : 翻訳

    View full-size slide

  3. エンドツーエンド(E2E)テスト、
    してますか?

    View full-size slide

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

    View full-size slide

  5. E2Eテストはハードルが高い? - Autifyを使えば
    E2Eテストはハードルが高い? - Autifyを使えば
    ● 手でやるのは工数がかかる
    ○ 自動化しましょう!
    ● シナリオ作る・書くの大変
    ○ テストシナリオ作成が簡単
    ● 実行するの大変
    ○ 複数のブラウザでテスト実行
    ● 作った後も大変
    ○ AIの力でシナリオ修正を支援

    View full-size slide

  6. AutifyのE2Eテストは?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. E2Eテストはハードルが高い?
    将来の夢
    ● ユニットテストと同じ頻度(プッシュごと)でE2Eテストしたい
    ○ featureブランチごとにQA環境を立てる(整備中)
    ● CircleCI Orb
    ● GitHub App

    View full-size slide