スモークテスト 【smoke testing】

概要

スモークテスト(smoke testing)とは、開発途上のソフトウェアをテスト(試験)する手法の一つで、開発・修正したソフトウェアを実行可能な状態に組み立て、起動するか、基本的な機能が動作するか、などをざっと確認すること。
スモークテストのイメージ画像

本格的なテストを実施する前に行われる簡易な確認工程で、プログラムの追加や修正などによって起動しなくなったり、すぐにエラーで停止してしまったりしないかを確かめる。テストの進行を妨げる致命的なバグを早期に見つけ、効率的にテストを実施するために必要となる。

開発部門とテスト部門が分かれている場合には、スモークテストはテスト側に送る前に開発側で行うべきであるとされる。起動してもすぐに停止してしまうような状況では意味のあるテストのやりようがなく、テスト側はすぐに開発側に差し戻すしかなくなってしまうためである。

DevOpsや継続的インテグレーション(CI)など、高速に開発サイクルを回すソフトウェア開発手法では、スモークテストが重視されることがある。頻繁な更新による破綻をいち早く見つけ、無駄なテストに時間やコストを浪費することを避けることが重要とされるからである。

もとは電子機器・電気機械の開発工程において、試作品の電源を入れてみて発煙しないか調べる試験を意味する。回路が短絡していて通電した途端発火してしまうなど、すぐに分かる致命的な欠陥がないか調べるために行われる。

(2025.8.21更新)

他の用語辞典による「スモークテスト」の解説 (外部サイト)