【すもーくてすと】

スモークテスト とは?

💡 「電源入れたら煙が出ないか」の最初の確認
📌 このページのポイント
テスト段階とスモークテストの位置づけ テストの段階 スモークテスト(最初に実行) 単体テスト 結合テスト 総合テスト・リリース スモークテストとは 主要機能だけを素早く確認 アプリが起動する ログインできる 主要画面が表示される 基本操作が動作する 不合格 → 詳細テスト中止 ビルド後に最低限の動作を素早く確認する初期テスト
スモークテストのイメージ
ひよこ ひよこ

リグレッションテストとどう違うの?

ペンギン先生 ペンギン先生

スモークテストは「ざっくり動くか」の確認で5〜10分程度。リグレッションテストは「細かいところまで壊れていないか」の網羅的な確認で数時間かかることも。スモークテストをパスしたらリグレッションテスト、という順番で実行するのが一般的だよ

ひよこ ひよこ

具体的に何をテストするの?

ペンギン先生 ペンギン先生

Webサービスなら「トップページが表示される」「ログインできる」「主要な画面遷移ができる」「APIが200を返す」くらい。ECサイトなら「商品一覧→商品詳細→カート→注文確認」の主要導線が通ることを確認する。全パターンではなく「致命的な壊れ」を検出するんだ

ひよこ ひよこ

本番デプロイ後にもやる?

ペンギン先生 ペンギン先生

もちろん。本番環境へのデプロイ直後にスモークテストを実行して、問題があればすぐにロールバックする。これを「Post-Deployment Smoke Test」と呼ぶよ。Blue-Greenデプロイカナリアリリースと組み合わせると、安全なリリースが実現できるんだ

ひよこ ひよこ

自動化すべき?

ペンギン先生 ペンギン先生

絶対にすべきだよ。スモークテストはデプロイのたびに実行するものだから、手動だと形骸化する。CypressPlaywrightSeleniumなどで主要導線の自動テストを書いて、CI/CDパイプラインに組み込むのが現代の標準的なプラクティスだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「スモークテスト」って出てきたら「主要機能が壊れていないかの最低限チェック」と思えればだいたいOK!
📖 おまけ:英語の意味
「Smoke Testing」 = 煙テスト
💬 ハードウェアに電源を入れて煙が出なければOK→ソフトウェアも「起動して基本動作すればOK」という発想だよ
← 用語集にもどる