それは何ですか、そしてなぜそれは使用/有用ですか?
9 に答える
健全性テストは、プログラミングやソフトウェアエンジニアリングのコンテキストに限定されるものではありません。健全性テストは、非常に明確で単純なロジックに従う必要があるものをテスト/確認/検証していることを意味する単なるカジュアルな用語です。他の誰かに、あなたが正気ではないこと、そしてあなたにとって理にかなっているように見えることも彼らにとって理にかなっていることを確認するように求めています...または、正気を維持するために過去4時間にあまりにも多くのエナジードリンクを飲みましたか?
非常に単純なものが機能しない理由について、壁に頭を完全にぶつけている場合は、誰かに簡単な健全性テストを依頼します。for
ループの最後にあるセミコロンを最後に15回見落とさないように、彼らに確認してもらいます。非常に単純な例ですが、実際には起こらないはずですが、何かに近すぎて、一歩下がって全体を見ることができない場合があります。別の視点は、あなたが完全に狂っていないことを確認するのに役立つことがあります。
良い例は、データベース接続の健全性チェックです。
SELECT 1 FROM DUAL
接続をテストするための簡単なクエリです。以下を参照してください。
深い機能をテストするのではなく、接続を続行しても問題がないことだけをテストします。
少なくとも私が理解しているように、スモークテストと正気度の違いは、スモークテストは、ビルド後にアプリケーションがテストに十分であることを確認するための簡単なテストであるということです。次に、特定の機能領域が十分に優れているかどうかを示す健全性テストを実行して、この領域でテストを続行することが実際に理にかなっていることを確認します。
例:
スモークテスト:アプリケーションを起動してすべての画面をナビゲートできますが、アプリケーションはクラッシュしません。
-アプリケーションがクラッシュしたり、すべての画面にアクセスできない場合、このビルドに何か問題があります。できるだけ早く消火する必要のある「火災」があり、テストには適していません。
健全性テスト(ユーザー管理画面の場合):ユーザー管理画面に移動し、ユーザーを作成して削除できます。
- そのため、アプリケーションはスモークテストに合格しました。次に、さまざまな領域の健全性テストに進みます。アプリケーションを使用してユーザーを作成および削除できない場合は、ユーザーの有効期限やログインなどのより高度な機能をテストする価値はありません。ただし、健全性テストに合格した場合は、次のテストを続行できます。この地域。
健全性テストまたは健全性チェックは、クレームまたは計算結果が真である可能性があるかどうかをすばやく評価するための基本的なテストです@ http://en.wikipedia.org/wiki/Sanity_testing
スモークテストは、新しいビルドの安定性をすばやくテストするためのものです。健全性テストは、新しく展開された環境のテストです。
健全性チェックの背後にある基本的な概念は、コードの実行結果が期待される結果と一致することを確認することです。適切な健全性チェックは、使用頻度が本来よりもはるかに少ないものである以外に、実行していることが完全に範囲外にならず、結果として実行すべきでないことを実行しないようにするのに役立ちます。健全性チェックの最も一般的な使用法は、誤動作しているコードをデバッグすることですが、GIGO(ガベージイン、ガベージアウト)の結果として不要なバグが発生するのを防ぐために、最終製品でもいくつかの場所に配置することでメリットが得られます。
関連して、他の人が実際に行うとは予想していなかったことをユーザーが行う能力を過小評価しないでください。これは、多くのプログラマーが何度教えても決して学ばない教訓であり、健全性チェックは、それを理解するのに役立つ優れたツールです。「私は決してそれをしません」は、コードが問題を処理しなかった理由の有効な言い訳ではありません。適切な健全性チェックは、その言い訳をする必要がないようにするのに役立ちます。
ソフトウェアアプリケーションの場合、健全性テストは、新機能とバグ修正の統合後にソフトウェアバージョンを一般にリリースできるようにする多くのテストのセットです。健全性テストとは、多くの問題が残る可能性がある一方で、たとえば誰かがお金やデータを失ったり、プログラムをクラッシュさせたりする可能性のある非常に重大な問題が修正されたことを意味します。したがって、重大な問題が残っていない場合、バージョンは健全性テストに合格します。これは通常、リリース前に行われた最後のテストです。
これは、何かが単に機能していることを確認するための基本的なテストです。
例:データベースへの接続。または、Webサイト/サーバーにpingを実行して、稼働しているか停止しているかを確認します。
完全にばかげた間違いがないか、コードの一部(またはUsenetの投稿など)をチェックする行為。
チェックは、作成者が作成時に正気であったことを確認することを意味します。
たとえば、科学ソフトウェアが特定の数式に依存していて予期しない結果をもたらした場合、より複雑なI /Oやデータ構造操作ルーチン、ましてやアルゴリズム自体。