を自動テストのFour Keysを元に分析・評価し作り込むことが重要 テスト自動化はテストプロセスの受け入れテスト作業のソフトウェア化 Lead time to recover from test failure Testing frequency Testing failure rate Lead time for testing 自動テストのFour Keysを提案
Lead time for changes Deployment frequency Change failure rate Lead time to recover from test failure DevOpsのFour Keys (パイプライン全体が対象) Lead time for testing Testing frequency Testing failure rate 自動テストのFour Keys (テストプロセスが対象) Lead time to recover
Lead time for changes Deployment frequency Change failure rate Lead time to recover from test failure DevOpsのFour Keys (パイプライン全体が対象) 自動テストのFour Keysはテストプロセスを対象としているが、 DevOpsではパイプラインの繰り返し頻度が多いため、 自動テストのFour Keysの改善の影響はパイプライン全体に及ぶ ビルド テスト デプロイ Lead time for testing Testing frequency Testing failure rate パイプライン 自動テストのFour Keys (テストプロセスが対象) Lead time to recover
※されてからレポート出力されるまでの所要時間 自動テストがトリガーされる頻度 ※コード変更や手動実行、スケジュール実行などによるテスト実行要求 自動テストが失敗する割合(%) Flakyテストが発生してから修復完了までに要する時間 Lead time to recover from test failure Testing frequency Testing failure rate Lead time for testing 自動テスト開発チームのパフォーマンスを示す4つの指標 受け入れテストをソフトウェア化するテストプロセスの プロセス品質とソフトウェア品質の両者を共通して分析・評価
ランナー ブラウザ操作 自動化 ツール ブラウザ リクエスト 振り分け Proxy 認証情報 付与 Proxy 外部ドメインへの リクエスト (広告・計測 etc) 認証 プロキシ 認証情報 付与済み テスト環境への リクエスト Feature Step Page Object テスト観点表 テスト 環境 自動テスト 実行要求 SET Chrome™ Microsoft Edge ゆもつよ メソッド Internal Network Internet Testing frequency Lead time for testing Lead time to recover from test failure Testing failure rate 自動テストのソフトウェア群
Lead time for testing B. Testing frequency C. Testing failure rate D. Lead time to recover from test failure パイプライン 実行時間 デプロイ実 行時間 テスト 実行時間 テスト セットアップ時間 テストケース 実行時間 テスト環境上限 失敗率 デプロイ 成功率 テストJob 成功率 Flaky修正 リードタイム セットアップ 成功率 テストケース 成功率 トリアージ リードタイム パイプライン 実行回数 パイプライン 成功率 凡例 KPI 自動テストFour Keys 影響先
Lead time for testing B. Testing frequency C. Testing failure rate D. Lead time to recover from test failure パイプライン 実行時間 デプロイ実 行時間 テスト 実行時間 テスト セットアップ時間 テストケース 実行時間 テスト環境上限 失敗率 デプロイ 成功率 テストJob 成功率 Flaky修正 リードタイム セットアップ 成功率 テストケース 成功率 トリアージ リードタイム パイプライン 実行回数 パイプライン 成功率 凡例 KPI 自動テストFour Keys 影響先 Lead time for testingが短くなると、 デバッグが楽になり Lead time to recover form test failureが短くなる
Lead time for testing B. Testing frequency C. Testing failure rate D. Lead time to recover from test failure パイプライン 実行時間 デプロイ実 行時間 テスト 実行時間 テスト セットアップ時間 テストケース 実行時間 テスト環境上限 失敗率 デプロイ 成功率 テストJob 成功率 Flaky修正 リードタイム セットアップ 成功率 テストケース 成功率 トリアージ リードタイム パイプライン 実行回数 パイプライン 成功率 凡例 KPI 自動テストFour Keys 影響先 Lead time to recover form test failureが短くなると Flakyテストがたまりにくくなるので Testing failure rateが低くなる
Lead time for testing B. Testing frequency C. Testing failure rate D. Lead time to recover from test failure パイプライン 実行時間 デプロイ実 行時間 テスト 実行時間 テスト セットアップ時間 テストケース 実行時間 テスト環境上限 失敗率 デプロイ 成功率 テストJob 成功率 Flaky修正 リードタイム セットアップ 成功率 テストケース 成功率 トリアージ リードタイム パイプライン 実行回数 パイプライン 成功率 凡例 KPI 自動テストFour Keys 影響先
testingの改善 29 A. Lead time for testing B. Testing frequency C. Testing failure rate D. Lead time to recover from test failure パイプライン 実行時間 デプロイ実 行時間 テスト 実行時間 テスト セットアップ時間 テストケース 実行時間 テスト環境上限 失敗率 デプロイ 成功率 テストJob 成功率 Flaky修正 リードタイム セットアップ 成功率 テストケース 成功率 トリアージ リードタイム パイプライン 実行回数 パイプライン 成功率 凡例 KPI 自動テストFour Keys 影響先
recover from failureの改善 38 A. Lead time for testing B. Testing frequency C. Testing failure rate D. Lead time to recover from test failure パイプライン 実行時間 デプロイ実 行時間 テスト 実行時間 テスト セットアップ時間 テストケース 実行時間 テスト環境上限 失敗率 デプロイ 成功率 テストJob 成功率 Flaky修正 リードタイム セットアップ 成功率 テストケース 成功率 トリアージ リードタイム パイプライン 実行回数 パイプライン 成功率 凡例 KPI 自動テストFour Keys 影響先
recover from failureの改善 39 D. Lead time to recover from test failure Flaky修正 リードタイム Flakyテストのトリアージ リードタイム 1. 品質ダッシュボードの改善 2. パイプライン成功率の改善 3. 朝会でのダッシュボード確認 4. flakyテストの見える化 5週間→1週間 - Lead time for testingの改善 - SET向けデバッグ用workflow構築 ①トリアージリードタイム改善のアクション ②パイプライン実行時間改善のアクション 取り組みによるFour Keysの結果とアクション Lead time to recover from test failureが長いことによる問題 • 未解決のflakyテストがたまり、テストケース成功率が低下する
・“自動テストのFour Keys”を提案 Lead time for testing Testing frequency Testing failure rate Lead time to recover from test failure -チームメンバーが意思決定できるように品質ダッシュボードを改善 -自動テストソフトウェアの設計を改善することでLead time for testingを改善 -自動テストソフトウェアの運用を改善することでLead time to recover from test failureを改善 ・自動テストのFour Keys改善のための食べログでの取り組み
is a registered trademark of Cucumber Ltd. ※1 Squid NOW icon - copyright Squid Project ※4 Mozilla、Firefoxの商標およびロゴは、Mozilla Foundationの米国およびその他の国における登録商標また は商標です。 ※3 Selenium is a registered trademark of Software Freedom Conservancy, Inc.