知識ベース

煙テスト(ソフトウェア)

コンピュータープログラミングとソフトウェアテストでは、 スモークテスト信頼性テスト健全性テストビルド検証テストBVT )、 ビルド受け入れテスト )も予備テストであり、たとえば将来のソフトウェアリリースを拒否するほど深刻な単純な障害を明らかにします。煙テストは、コンポーネントまたはシステムの最も重要な機能をカバーするテストケースのサブセットであり、ソフトウェアの主要な機能が正常に動作しているように見えるかどうかの評価を支援するために使用されます。コンピュータプログラムをさらに詳細なテストにさらすべきかどうかを判断するために使用される場合、煙テストは摂取テストと呼ばれることがあります。または、製品の新しいビルドごとに実行される一連のテストであり、ビルドがテストチームの手にリリースされる前にビルドがテスト可能であることを確認します。 DevOpsパラダイムでは、BVTステップの使用は、継続的な統合の成熟段階の特徴の1つです。

たとえば、スモークテストでは、「プログラムを実行しますか?」、「ユーザーインターフェイスを開きますか?」、「メインボタンをクリックすると何ができますか?」などの基本的な質問に対処できます。スモークテストのプロセスの目的は、アプリケーションがひどく破損しているかどうかを判断し、さらなる即時テストを不要にすることです。 「 ソフトウェアテストで学んだ教訓」という本が示すように、「主要な機能が機能しない場合、または主要なバグがまだ修正されていない場合、煙テストは限られた時間で製品の機能を広くカバーします。テスト」。

煙のテストは頻繁に迅速に実行され、より長いテストスイートを実行するよりもフィードバックが速くなるという利点があります。

毎日のビルドと煙のテストは、業界のベストプラクティスの1つです。煙テストは、さらにテストするためにビルドを受け入れる前にテスターに​​よっても行われます。マイクロソフトは、コードレビューの後、「 煙のテストがソフトウェアの欠陥を特定して修正するための最も費用効果の高い方法である」と主張しています。

手動または自動ツールを使用して煙テストを実行できます。自動化ツールの場合、ビルドを生成するプロセスがテストを開始することがよくあります。

煙テストは、機能テストまたは単体テストにすることができます。機能テストは、さまざまな入力を使用してプログラム全体を実行します。単体テストは、個々の機能、サブルーチン、またはオブジェクトメソッドを実行します。機能テストは、スクリプト化された一連のプログラム入力で構成され、マウスの動きを制御する自動メカニズムを備えている場合もあります。単体テストは、コード自体内の個別の機能として、またはテスト対象のコードを変更せずにコードにリンクするドライバー層として実装できます。