WebのE2Eテスト自動化 〜導入から運用・評価までの道のり編〜Ver. テスト自動化カンファレンス2023
by
coconala_engineer
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Copyright coconala Inc. All Rights Reserved. WebのE2Eテスト自動化 〜導入から運用・評価までの道のり編〜 DATA : 2023.12.09 株式会社ココナラ 鈴木悠仁 Ver. テスト自動化カンファレンス2023
Slide 2
Slide 2 text
Copyright coconala Inc. All Rights Reserved. 鈴木 悠仁(すずき ゆうと) 株式会社ココナラ プロダクト開発部 DevOpsグループ QA開発チーム Team Manager ● ココナラ入社2年目の1人目QAE ● SeleniumからPlaywrightに気移り中 ● 筋トレ系QAエンジニア 紹介 0 2
Slide 3
Slide 3 text
Copyright coconala Inc. All Rights Reserved. 紹介 0 3
Slide 4
Slide 4 text
Copyright coconala Inc. All Rights Reserved. 4 Agenda まえおき テスト設計編 テスト実装編 運用編 評価 1 2 3 4 5
Slide 5
Slide 5 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 5 今日のゴール 実際にE2Eテストを導入・運用してみて、 いま振り返って「やってよかった」ことを共有する!
Slide 6
Slide 6 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 6 入社時の状況 ● QA知見者が現場にいない ● QA工程での不具合検知数が多い ● テスト漏れの結果、障害流出... etc. ● 機能拡充に伴い、リグレッションも徐々に増加... E2Eテストは ここへのアプローチ!
Slide 7
Slide 7 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 7 目指したいE2Eテスト像 いっぱい作っても1人で 保守できるかな? 今のリリース速度に 影響でないかな? テスト失敗が多くてリ リースの足を引っ張ら ないかな?
Slide 8
Slide 8 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 8 目指したいE2Eテスト像 ● 最小のテストで最大の品質を保証できるテスト ● 運用のボトルネックにならないテスト ● 信頼性の高いテスト
Slide 9
Slide 9 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 9 目指したいE2Eテスト像 ● 最小のテストで最大の品質を保証できるテスト ● 運用のボトルネックにならないテスト ● 信頼性の高いテスト CUJにテストケースを絞る テスト実行時間の上限設定と短縮 “決定性の向上”と”偽陽性への耐性強化”
Slide 10
Slide 10 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 10 運用までの軌跡 プロジェクトQA 2022年 プロジェクトQA 2023年 ツール 選定 PoC テスト 設計 テスト 実装 実行 環境 作成 運用
Slide 11
Slide 11 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 11 詳細はこちら!
Slide 12
Slide 12 text
Copyright coconala Inc. All Rights Reserved. まえおき 1 12 作業用Mac ショートカット HTTP Request リアルタイム通知 テスト実行 テスト結果送信 詳細はこちら!
Slide 13
Slide 13 text
Copyright coconala Inc. All Rights Reserved. 13 Agenda まえおき テスト設計編 テスト実装編 運用編 評価 1 2 3 4 5
Slide 14
Slide 14 text
Copyright coconala Inc. All Rights Reserved. テスト設計編 2 14 目指したいE2Eテスト像 ● 最小のテストで最大の品質を保証できるテスト ● 運用のボトルネックにならないテスト ● 信頼性の高いテスト CUJにテストケースを絞る テスト実行時間の上限設定と短縮 “決定性の向上”と”偽陽性への耐性強化”
Slide 15
Slide 15 text
Copyright coconala Inc. All Rights Reserved. テスト設計編 2 15 ①運用に耐えられる 自動テスト実行時間を決めた! 大規模プロジェクト => 30分以内 上記以外 => 15分以内
Slide 16
Slide 16 text
Copyright coconala Inc. All Rights Reserved. テスト設計編 2 16 CUJを絞るため! リリース速度に対応するため!
Slide 17
Slide 17 text
Copyright coconala Inc. All Rights Reserved. テスト設計編 2 17 ②実行時間内に実施するCUJを EM・PdMと決めた!
Slide 18
Slide 18 text
Copyright coconala Inc. All Rights Reserved. テスト設計編 2 18 機能毎にUser Journeyを一覧化 する 以下に基づきCUJを決定 ● テスト実行時間 ● アクセス数の多い導線 ● 流通高への影響度
Slide 19
Slide 19 text
Copyright coconala Inc. All Rights Reserved. 19 Agenda まえおき テスト設計編 テスト実装編 運用編 評価 1 2 3 4 5
Slide 20
Slide 20 text
Copyright coconala Inc. All Rights Reserved. テスト実装編 3 20 目指したいE2Eテスト像 ● 最小のテストで最大の品質を保証できるテスト ● 運用のボトルネックにならないテスト ● 信頼性の高いテスト CUJにテストケースを絞る テスト実行時間の上限設定と短縮 “決定性の向上”と”偽陽性への耐性強化”
Slide 21
Slide 21 text
Copyright coconala Inc. All Rights Reserved. テスト実装編 3 21 ③固定秒待機を使わない! Playwrightの自動待機は優秀!
Slide 22
Slide 22 text
Copyright coconala Inc. All Rights Reserved. テスト実装編 3 22 ④“Retry”で偽陽性への耐性を上げる!
Slide 23
Slide 23 text
Copyright coconala Inc. All Rights Reserved. テスト実装編 3 23 Question: ● テストケース数:100 ● 1テストケースの成功率:95% => 1回の実行で成功する確率 は??
Slide 24
Slide 24 text
Copyright coconala Inc. All Rights Reserved. 24 Agenda まえおき テスト設計編 テスト実装編 運用編 評価 1 2 3 4 5
Slide 25
Slide 25 text
Copyright coconala Inc. All Rights Reserved. 運用編 4 25 目指したいE2Eテスト像 ● 最小のテストで最大の品質を保証できるテスト ● 運用のボトルネックにならないテスト ● 信頼性の高いテスト CUJにテストケースを絞る テスト実行時間の上限設定と短縮 “決定性の向上”と”偽陽性への耐性強化”
Slide 26
Slide 26 text
Copyright coconala Inc. All Rights Reserved. 運用編 4 26 ⑤テスト信頼性をモニタリングする! 信頼不能性が1%になるあたりで、 テストは価値を失い始める
Slide 27
Slide 27 text
Copyright coconala Inc. All Rights Reserved. 運用編 4 27 失敗原因を必ず分類する
Slide 28
Slide 28 text
Copyright coconala Inc. All Rights Reserved. 運用編 4 28 ここを捕捉して撲滅する
Slide 29
Slide 29 text
Copyright coconala Inc. All Rights Reserved. 運用編 4 29 ⑥“Retry”をしても 徹底的に原因調査・修正をする!
Slide 30
Slide 30 text
Copyright coconala Inc. All Rights Reserved. 運用編 4 30 1回目失敗。2回目で成功。 それでも失敗したことには変わらない。 辛抱強く、確実に潰す。 総合的には成功。
Slide 31
Slide 31 text
Copyright coconala Inc. All Rights Reserved. 31 Agenda まえおき テスト設計編 テスト実装編 運用編 評価 1 2 3 4 5
Slide 32
Slide 32 text
Copyright coconala Inc. All Rights Reserved. 評価 5 32 運用を始めて4ヶ月目の現在...
Slide 33
Slide 33 text
Copyright coconala Inc. All Rights Reserved. 評価 5 33 1%以内を達成!
Slide 34
Slide 34 text
Copyright coconala Inc. All Rights Reserved. 評価 5 34 運用しながら信頼性 が上がっている
Slide 35
Slide 35 text
Copyright coconala Inc. All Rights Reserved. 評価 5 35 沈静化
Slide 36
Slide 36 text
Copyright coconala Inc. All Rights Reserved. 評価 5 36 ほぼほぼ撲滅!
Slide 37
Slide 37 text
Copyright coconala Inc. All Rights Reserved. 評価 5 37 時間超過も安定傾向 ここは外部サー ビス起因...です 最近 昔
Slide 38
Slide 38 text
Copyright coconala Inc. All Rights Reserved. 評価 5 38 まとめ ● 最小のテストで最大の品質を保証できるテスト ● 運用のボトルネックにならないテスト ● 信頼性の高いテスト CUJにテストケースを絞る テスト実行時間の上限設定と短縮 “決定性の向上”と”偽陽性への耐性強化” ● 運用面:不満なし ● 保守面:最近暇 ● 品質面:CUJにおける重大な本番障害なし 今のところいい感じ!
Slide 39
Slide 39 text
Copyright coconala Inc. All Rights Reserved. Fin. 39