スモークテスト(すもーくてすと)情報システム用語事典

smoke testing

» 2011年11月07日 00時00分 公開

 ソースコードの開発・追加・修正を終えたソフトウェアが動作する状態にあるかを確認するテストのこと。本格的なソフトウェアテスト(注1)が実施可能かを確認するための予備的な簡易テストである。

 開発作業でソースコードのちょっとした直し壊しやビルドの失敗に気付かず、動かないソフトウェアを次の工程に送っても差し戻されるだけで時間の無駄になる。こうした事態を避けるには、コンパイルやビルドした直後にそのソフトウェアが動くことを確認するのが効果的だ。これをスモークテストという。

 スモークテストは最低限のテストなので、「起動する」「基本機能が動作する」などを簡易に確認するだけでよいが、コンパイルやビルドするごとに行う必要がある。

 スモークテストの目的は、テスト部門/テスト担当者の作業効率化である。テスト担当者はソフトウェアからバグを見付け出すことが仕事なのでバグ自体は飯のタネだが、ブロッキングバグが多発すると仕事にならない。そこで対象ソフトウェアがテスト可能なレベルの品質を確保できるような最低限のテストケースを用意し、開発チームにそれをクリアするソフトウェアを作るように依頼しておく。これによって、時間を掛けてテスト準備をし、いよいよテスト作業に取り掛かったらテスト不能で中断という事態をできる限り排除する。

 用語「スモークテスト」は、電機分野からの借用語だといわれる。もともとはハードウェア製品/部品に電源を投入し、煙が出たり発火したりしないことを確認する作業のことで、転じてソフトウェアの“最初の簡易テスト”を意味する言葉として使われるようになったという。

参考文献

▼『はじめて学ぶソフトウェアのテスト技法』 リー・コープランド=著/宗雅彦=訳/日経BP社/2005年11月(『A Practitioner's Guide to Software Test Design』の邦訳)

▼『経験ゼロでもできるプログラミング現場の単体テスト』 片桐一宗=著/翔泳社/2009年5月


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ