【すもーくてすと】

スモークテスト とは?

最終更新:
💡 「電源入れたら煙が出ないか」の最初の確認
📌 このページのポイント
テスト段階とスモークテストの位置づけ テストの段階 スモークテスト(最初に実行) 単体テスト 結合テスト 総合テスト・リリース スモークテストとは 主要機能だけを素早く確認 アプリが起動する ログインできる 主要画面が表示される 基本操作が動作する 不合格 → 詳細テスト中止 ビルド後に最低限の動作を素早く確認する初期テスト
スモークテストのイメージ
ひよこ ひよこ
リグレッションテストとどう違うの?
ペンギン先生 ペンギン先生
スモークテストは「ざっくり動くか」の確認で5〜10分程度。リグレッションテストは「細かいところまで壊れていないか」の網羅的な確認で数時間かかることも。スモークテストをパスしたらリグレッションテスト、という順番で実行するのが一般的だよ
ひよこ ひよこ
具体的に何をテストするの?
ペンギン先生 ペンギン先生
Webサービスなら「トップページが表示される」「ログインできる」「主要な画面遷移ができる」「APIが200を返す」くらい。ECサイトなら「商品一覧→商品詳細→カート→注文確認」の主要導線が通ることを確認する。全パターンではなく「致命的な壊れ」を検出するんだ
ひよこ ひよこ
本番デプロイ後にもやる?
ペンギン先生 ペンギン先生
もちろん。本番環境へのデプロイ直後にスモークテストを実行して、問題があればすぐにロールバックする。これを「Post-Deployment Smoke Test」と呼ぶよ。Blue-Greenデプロイカナリアリリースと組み合わせると、安全なリリースが実現できるんだ
ひよこ ひよこ
自動化すべき?
ペンギン先生 ペンギン先生
絶対にすべきだよ。スモークテストはデプロイのたびに実行するものだから、手動だと形骸化する。CypressPlaywrightSeleniumなどで主要導線の自動テストを書いて、CI/CDパイプラインに組み込むのが現代の標準的なプラクティスだね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「スモークテスト」って出てきたら「主要機能が壊れていないかの最低限チェック」と思えればだいたいOK!
📖 おまけ:英語の意味
「Smoke Testing」 = 煙テスト
💬 ハードウェアに電源を入れて煙が出なければOK→ソフトウェアも「起動して基本動作すればOK」という発想だよ
← 用語集にもどる