新着: TestSprite CLIが公開されました!

赤いテストのすべてが本物のバグとは限りません。

一度失敗して再実行で合格するテストは、機能が動いている証拠ではありません — しかし壊れている証拠でもありません。testsprite test flaky <testId>は、肩をすくめる代わりにその失敗に安定性スコアを与えます。

すでに使っている同じCLIに組み込み済み

GitHub ActionsGitLab CIローカル実行エージェントループ
合格するまでフレーキーなテストを再実行しても何も直りません — 高くつくまでノイズを隠しているだけです。ただ再試行するのではなく、スコアをつけましょう。

壊れた箇所をすぐ把握

testsprite test flaky <testId>は安定性パスを実行し、失敗が本物のリグレッションらしいのかテストの脆弱性らしいのかを、誰かが時間をかけて追いかける前に教えてくれます。

意図を理解する

フレーキースコアリングはどんなテストにも機能します — 生成されたものでもtest code putでアップロードされたものでも — 新しいテストだけでなく既存のスイートにも適用されます。

現状を検証する

安定性スコアは、静的解析からのヒューリスティックな推測ではなく、本番環境に対する実際の反復実行から得られます。

必要な対応を提案

フレーキーだと判定されたテストにも失敗バンドルが付くので、ノイズの裏にあるのがタイミングなのか、セレクタのずれなのか、環境の問題なのかを見極められます。

$ testsprite test flaky TC_checkout_promo
  Running stability pass...
  4/5 runs passed — stability score: 0.80
  → likely flaky, not a regression

$ testsprite test flaky TC_orders_create
  Running stability pass...
  1/5 runs passed — stability score: 0.20
  → likely a real regression

間違った問題に修正の試みを費やさない

すべての赤いテストを本物のバグとして扱うエージェント — あるいは人間 — は、ノイズを追いかけてサイクルを無駄にします。安定性スコアリングが、「これは調査すべき」と「これは無視していい」の違いを教えてくれます。

ノイズが増えてしまったスイートのために

どんなテストにも対応

生成されたものでもアップロードされたものでも関係ありません — test flakyはプロジェクト内のどのテストIDに対しても実行できます。

ループへのフィードバック

テスト結果を確認するエージェントは、失敗が修正を必要とするのか単なる再実行で十分なのかを判断する前にtest flakyを呼び出せます。

無料コミュニティ版

無料のコミュニティ版を提供し、誰もが利用できるようにしています。

差分表示と組み合わせる

フレーキースコアリングと一緒にtestsprite test diffを使えば、良い実行と悪い実行の間で正確に何が変わったかがわかります。

世界中の企業から信頼されています

"TestSpriteは豊富なテストケース生成、明確な構造、読みやすいコードを提供します。また、新しいテストケースを生成して迅速に拡張できるシンプルなオンラインデバッグもサポートしています。"

"TestSpriteの自動化により、膨大な手作業を削減できています。開発者は開発プロセスの早い段階でバグを簡単に発見し、解決することができます。"

よくある質問

testsprite test flakyは実際に何を計測していますか?

本番環境に対してテストを複数回実行し、1回の実行結果に頼るのではなく安定性スコア — どれだけ一貫して合格するか — を報告します。

ただテストを再実行するのと何が違いますか?

一度だけ再実行してその結果をそのまま受け入れるのはスコアではなく、コイントスです。安定性スコアリングは、根拠にできる実際の数値を出すのに十分な回数の実行を行います。

生成されたテストだけでなく、自分で書いたテストにも使えますか?

使えます — フレーキースコアリングは、test code putでアップロードされたものも含め、プロジェクト内のどのテストにも実行できます。

安定性スコアが低い場合はどうすればいいですか?

調査する価値のある本物のリグレッションとして扱ってください — test failure getで失敗バンドルを取得し、実際に何が起きたかを確認しましょう。

一度失敗したのに安定性スコアが高い場合はどうですか?

それはプロダクトのバグというより、タイミング、セレクタのずれ、環境といったテストの脆弱性である可能性が高いです。アプリではなくテストの方を直す価値があります。