Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

AutifyのE2Eテストは?

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

No content