WebのE2Eテスト自動化 〜導入から運用・評価までの道のり編〜Ver. テスト自動化カンファレンス2023
by
coconala_engineer
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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