web-dev-qa-db-ja.com

煙のテストとは何ですか?それは私にとって何をしますか?

プロジェクトのパフォーマンスとテストカバレッジを測定するために、スモークサーバーが継続的な統合に使用されていることを理解したと思いました。これは基本的に正しいですか?プログラムをスモークテストするとはどういう意味ですか?特定の時間枠でパフォーマンスの低下を特定できるように、スモークサーバーで定義されたテストを継続的に適用することを単に意味しているのですか?

45
ojblass

煙のテストは、実際のテストに先行するテストを実行するための基本的な安価なセットです。ビルドが正常にデプロイされたこと、およびすべてのテスト環境が検証されていることを目的としています。アスペクトが実行され、実際のテストプロセスの準備ができています。それはあなたがテストの怒りを完全な範囲で欠陥のあるビルドにもたらし、あなたが悪い環境でテストしていることに気付くのを節約します。または、誤ってデプロイされたビルドが遅すぎる可能性があります。

67
MahdeTo

オンにして、煙が出ていないか確認してください。

31
andreadi

この用語は ハードウェア修復 に由来し、ソフトウェアに適用されています。これは、アプリケーションを初めて実行したときに、アプリケーションが「発火」するかどうかを確認する簡単なテストを目的としています。上で述べたように、明らかに壊れているものに彼らをゆるめることによって、たくさんの人々の時間を無駄にしないことを確認するだけです。

23
Chris Nava

煙のテストは、パフォーマンステストや回帰防止テストではありません。

煙のテストは、最も優先度の高い完全自動テストのセットです。通常のビルドが成功したとしても、製品が100%使用不能になるような非常に根本的な方法で壊れる可能性があります。煙のテストは、そのレベルのコア機能をテストするように設計されています。煙のテストに合格しないビルドは、すべての自動テストの大部分が失敗する可能性が非常に高いです。

煙のテストが失敗した場合、一般的にはビルドが使用できない、テストできないなどの理由で生産性が失われていることを意味します。煙のテストの失敗は、数日ではなく数時間の即時修正が必要になる傾向があります。

煙のテストに関する重要な側面は、それらが迅速に実行できることです。常に何らかの煙テストを実行する必要があります。多くのグループには、毎日または継続的な統合ビルドでより大きなテストスイートを実行するのに十分なリソースがあります(これは良いことです)が、煙テストは最低限と見なす必要があります。

4
Wedge

煙のテストに関するウィキペディアのページ は実際には非常に優れています。 IEEEソフトウェア13(4)、1996年の "Daily Build and Smoke Test" というタイトルのベストプラクティスセクションにあるSteve McConnelの( "Code Complete")論文へのポインタが含まれています。

煙のテストは、単体テストやその他の形式のテストの前提条件だと思います。煙のテストが失敗した場合、単体テストを開始しても意味がありません。

4
avandeursen

煙テストという用語は、アプリケーションまたは製品に対して基本テストをすばやく実行して、統合テストや機能テストなどのさらなるテストの対象となるテストを指すために使用します。アプリケーションがこれらの高度なテストに必要な基本的なことの一部を実行できない場合、統合テストやその他の高度なテストを行うのはほとんど役に立ちません。たとえば、Webベースのアプリケーションがあり、すべてのWebページをロードできること、ユーザーがログイン/ログアウトできることなどを確認するために、スモークテストを行っています。これらは、アプリケーションをテスト可能にするために機能する基本的なものです。ページが読み込まれなかったり、ユーザーがログインできなかったりした場合、機能や統合テストでは多くのことを行うことができません。ビルドごとにスモークテストを行った後、機能テストと統合テストを行います。

2
msvcyc

煙のテストは、統合テストの最初のステップです。開発者は、すべてのパーツをまとめ、「実際の」テストのためにQAチームに渡す前に、アプリが実行されることを確認します。

もっと書きたかったが、MahdeToが正解して私を倒した... :)

1
Benoit Miller

*テストに進む前にアプリケーションの基本的で重要な機能をチェックすることは、スモークテストと呼ばれます。 *スモークテストでは、ビルドがテスト可能かどうかをチェックするために、基本的かつ重要な機能のポジティブフローをチェックします。

0
vimal tyagi

以前の回答のいくつかに同意します。私にとって、Smoke Testingは、私のXの何千ものサブページとリダイレクトがまだ機能しているかどうかのチェックです。

動作中とは、各サブページのステータスコードが「200 OK」であることを意味します。

私は煙のテストをできるだけ遅く実行します。コードをサーバーにデプロイした後、このサーバーをアクティブにする前。

今日、私のために仕事をしているオンラインサービス(SaaS)さえあります。 https://www.smest.it は煙のテストに役立ちます。彼らのホームページにプライベートドメインを入力したばかりで、ウェブサイトを毎日チェックして以来、全くストレスなし。

0
dj_thossi