開発支援・コーディング

E2Eテストとは|1件あたり0.1%でも、1000件そろえると62.8%の実行が赤くなった

E2Eテストはなぜ不安定になるのかたまに落ちるテストは何件まで許せるのか再実行で解決するのか

1件あたり0.1%の確率でたまに落ちるテストがあるとします。50件なら、赤くなるのは4.8%の実行です。

1000件そろえると62.8%になります。本当は問題がないのに、3回に2回は赤くなります。

この記事の要点

  • 0.1%・50件で4.8%
  • 0.1%・1000件で62.8%
  • 再実行2回で誤検知0.47%
  • 半分の確率で出る不具合は25%しか捕まらない

1件あたり0.1%でも、1000件そろえると62.8%の実行が赤くなった

1件あたりの確率が小さくても、件数が増えれば一式のどれかが落ちます。掛け算で効いてきます。

E2Eテストは、たまに落ちることがあります。待ち時間や外部の応答が絡むためです。

この不安定さが一式の判定をどれだけ狂わせるのかを、実際に走らせて測りました。一式を2万回まわして数えています。

本当は問題がない状態で、各テストが独立に決まった確率で落ちるものとしました。1件でも落ちれば一式は赤です。

件数と確率を動かす

text
一式を 20000回まわし、本当は問題がないのに赤くなる割合を数える

たまに落ちる確率           50件        200件       1000件       3000件
0.01%                     0.5%        2.1%        9.0%       26.0%
0.10%                     4.8%       17.8%       62.8%       95.0%
0.50%                    22.1%       62.5%       99.3%      100.0%

1件あたり0.1%は、1000回に1回落ちるという水準です。1件だけ見れば気にならない数字です。

50件でも4.8%です。ところが1000件そろえると62.8%になります。

件数が増えるほど効く

1件でも落ちれば赤になるので、件数が増えるほど当たりやすくなります。1件あたりの確率は変わっていません。

0.5%の行では、1000件で99.3%です。ほぼ毎回赤くなる状態で、判定として意味がなくなります。

この状態が続くと、赤を見ても誰も止まらなくなります。本物の失敗が混ざっていても、同じ扱いになります

1件あたりの確率が小さくても、件数がそろえば毎回赤くなる。

50件200件1000件3000件1件0.01%1件0.10%1件0.50%1%未満1〜10%10〜40%40〜80%80%以上2万回まわした実測。値は、本当は問題がないのに赤くなった実行の割合。
図1 ── 確率と件数の組み合わせ
出典Playwright Docs「Test retry」2026-08-18 確認
This is useful when a test is flaky and fails intermittently.
原文Playwright Docs「Test retry」 この内容の有効期限2027-02-18

再実行で誤検知は消えるが、確率的な不具合も一緒に消える

落ちたら試し直す運用は効きます。毎回は出ない不具合も、同じ理屈で見逃します。

E2Eテストの不安定さに対する定番の手が再実行です。出典もこの動きを説明しています。

その説明は有効にすると、落ちたテストは通るまで、あるいは再実行の上限に達するまで、複数回試し直されるというものです。

上限を動かす

text
再実行の上限  誤って赤くなる割合   不具合100%を捕まえる  不具合50%を捕まえる  不具合20%を捕まえる
1回                        86.71%              100.0%               50.0%               20.0%
2回                         0.47%              100.0%               25.0%                4.0%
3回                         0.00%              100.0%               12.5%                0.8%

再実行なしでは86.71%が赤くなります。2回まで許すと0.47%まで落ちました。

誤検知はほぼ消えます。2回続けて偶然落ちる確率は、0.20%の2乗だからです。

同じ理屈で見逃す

右の3列が代償です。毎回は出ない不具合も、2回続けて出なければ通ってしまいます

半分の確率で出る不具合なら、2回の再実行で捕まえられるのは25%です。3回にすると12.5%まで落ちます。

毎回出る不具合は100%のままです。再実行が消すのは、確率的に出るものだけという切り分けになります。

再実行を増やすほど、誤検知も本物の見逃しも同じ向きに動く。

%86.701回2回3回誤って赤くなる割合半分の確率で出る不具合を捕まえる5回に1回出る不具合を捕まえる一式1000件・1件あたり0.20%での実測と計算。誤検知は2万回の試行、右2つは確率の式による。
図2 ── 再実行の上限を上げたとき
出典Playwright Docs「Test retry」2026-08-18 確認
When enabled, failing tests will be retried multiple times until they pass, or until the maximum number of retries is reached.
原文Playwright Docs「Test retry」 この内容の有効期限2027-02-18

再実行で通ったことを、記録に残す

再実行は隠す道具ではありません。通ったことにするなら、何回目で通ったかを残します。

E2Eテストで再実行を入れるなら、再実行で通った件を別に数えます。出典の道具もその分類を持っています。

分類は3つです。1回目で通ったもの・1回目は落ちたが再実行で通ったもの・全部落ちたものです。

出典も仕組みそのものをテストの再実行は、落ちたときに自動でそのテストを走らせ直す方法であると説明しています。

追いかける数字

  1. 再実行で通った件数。不安定さの総量
  2. その内訳。どのテストが繰り返し出てくるか
  3. 一式が赤くなった割合。判定として使えているか
  4. 本物の失敗の件数。赤のうち、直したものの数

2番目が手を打つ入口です。同じテストが毎週出てくるなら、そのテストを直します

件数そのものを減らす

前の節の表のとおり、件数が増えるほど誤検知は積み上がります。E2Eの本数を絞ること自体が対策になります。

細かい条件は下の層で確かめます。ユニットテストの記事では、上の層に寄せると検出率まで下がることを測っています。

再実行は隠す道具ではなく、数えるための道具にする。

充足 2 / 4再実行で通った件を数えている数えないと、不安定さが増えていることに気づけないE2Eの本数を絞っている1件0.10%でも、1000件そろえば62.8%の実行が赤くなる再実行の上限を上げて対処している半分の確率で出る不具合を、3回では12.5%しか捕まえられない赤が続いても止まらない運用になっている本物の失敗が混ざっていても、同じ扱いで流れてしまう一式2万回の試行にもとづく。1件あたりの不安定さは0.01%から0.50%まで振った。
図3 ── 入れる前の点検項目
余談 この計測での注意

各テストの不安定さは独立という置き方です。実際には共通の待ち処理や外部の相手が原因で、まとめて落ちることが多くなります。その場合、一式が赤くなる割合はここより低く出ますが、直すべき箇所は1つに集まります。ここで見せているのは、1件あたりの確率が小さくても件数で効いてくることと、再実行が誤検知と見逃しを同時に動かすという関係です。

出典Playwright Docs「Test retry」2026-08-18 確認
Test retries are a way to automatically re-run a test when it fails.
原文Playwright Docs「Test retry」 この内容の有効期限2027-02-18

よくある質問

E2Eテストはなぜ不安定になりますか
通しで動かすので、待ち時間や外部の応答が絡みます。1件あたりの確率が小さくても、件数が増えると効いてきます。
たまに落ちるテストは何件まで許せますか
件数によります。この計測では1件あたり0.1%でも、1000件そろえると62.8%の実行が赤くなりました。
再実行すれば解決しますか
誤検知は減ります。この計測では2回まで許すと86.71%が0.47%になりました。
再実行の弊害はありますか
毎回は出ない不具合も見逃します。半分の確率で出る不具合は、2回の再実行で25%しか捕まりません。

まとめ

  • 画面から通しで動かすテスト
  • 件数が増えると誤検知が積み上がる
  • 再実行は誤検知を消す
  • 同時に確率的な不具合も消す

今日から始められること

  1. 直近30回の実行で、赤くなった回数を数える
  2. そのうち本物の失敗が何回かを数える
  3. 1件あたりの不安定さの確率を出す
  4. 件数と照らして、許せる水準を決める

実務で組んだE2Eテストのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る