単体テストまたは機能の実験をしていますか?[定休日]
-
19-09-2019 - |
質問
また、最近は、知機能テストユニットテスト。
理解しているユニット試験の試験のそれぞれの可能性を指定のコードからその最も原子です。その一方で、機能的な実験をしていますか?
この音のように私だけの試験の場合、コードの作品がまとして信頼性があり、そしてユニットの実験をしていますか?
って言われたことがあった二つの学校の思想するものとする。Certainsうユニット試験、機能試験をします。
が良い資源、リンク、図書、参考文献について全ての人に説明でき、elighten私のパスがございます!
よろしく!
解決
ジェイソンの答えが正解です。異なる種類の試験が異なる目的で、層状のための最高の成績の良いデザイン、仕様、低欠陥).
- 単体テスト=ドライブデザイン( テスト駆動開発, やTDD)
- 統合試験=ん、全ての作品と
- お客様の受入試験=doesではお客様の要件
- マニュアルの試験=よくカバー、UI;専用テスターでどの自動化に欠席
- 負荷試験=してはどうか、システムをリアルに再現した量のデータ
あとこれらの種類に分類し、さらにユニットテストが指定可能な動作を備えています。
ありその他以上のほとんどの人気を知り、 ソフトウェアテスト.
一人で見逃するユニット試験は、試験片のコード 孤独.良いユニット試験なヒットのデータベースを備えています。この二つのメリット:この試験走りを見せできることとしたが、その力は大き疎結合の授業(設計)
また資源のをお勧めしまRoy Osherove帳 の単体テストの例です。当期純.ながらない書籍は、このより確認するとともに、提案した多くの優れたポインタ書き出しを良い。
編集:および筆記試験に対し、既存のソフトウェア、ビートルの羽毛、"書 効果的にレガシーコード.
他のヒント
ユニットテストはxor
ではなく、and
ではありません。ユニットテストは、機能テストを約統合で全体をテストしている間に孤立してユニットテストについてです(適切に連携し、すべてのユニットをやります?)。
両方の良いソフトウェアエンジニアリングの実践の必要なコンポーネントです。
ユニットテストテストコード単位(メソッドなど)システムが使用されていいますが、ご了承くださいしています。
機能試験試験システムデザインかどうかを確認するために作品との交流のを修正そのコマンドによるintを返します文字列を検査するのに十分ご満足いただけます。がんシステムの試ことはできませんの通知その他のコードの考えで受け入れ、nullであってはならないが、できません。
両方の試験は重要です。
編集:を追加するには若干異なる観点かgbjbaanbと
- 単体テスト=マーコードの作品
- 機能テスト=マデザイン
- 統合テスト=マーコードを第3者も正常にデータベースなど)
- 工場受け入れテスト=私のシステム
- サイトの受け入れテスト=ドを吸い込み、この全くなかった!?!
- 単体テスト=最小、粒状ます。
- 機能テスト=middling、モジュールです。
- 統合テスト=上のアプリケーションレベル.
- 工場受け入れテスト=で全ての作業
- サイトの受け入れテスト=ですべてが失敗し)
上記のすべてに役立つものではありませんがお互いに排他的です。きのこもしもの時間を過ごし、各部分の結果を得られるようにお勧めします。がコードすぎるモジュールが簡単、そして過ごしでの取り組みの機能試験までを実施。い文書には、図書室の小さな部品お時間をお過ごしづいて試験したい文書管理システムのための軍ミサイルばねのサイトの受入試験して爆発しても失敗した場合には、楽しみ:))
ユニットテストと機能テストは、二つの異なる結果を持っています。
ユニットテストは予想通りのコードの小片が動作することを確認します。通常、コードが正しく動作することを確認するために、開発者によって行われます。これらは通常、同様のテスト・フレームワークによって自動化されています。
機能テストは、プログラムを介して特定の経路を経ることで期待通りに機能が動作することを確認します。これらは通常、プログラムが彼らにそれがユーザーのためになっているように動作することを保証するソフトウェア上の人物によって実行されています。それは、のような、より高いレベルであるので、一度に複数のユニットをテストします。
私は両方が重要であると思います。あなたがが、限られた資源を持っており、選択する必要があります場合は/技術を選択し、私はそれはあなたが作成した製品に依存だと思うが、私は(いくつかのボタンを通じて、人間が使用する自動車制御製品)何のための機能テストが最も重要です。これは、ユーザーが製品を取得したときに、行うことになっているものないことを、確認し、保証します。これは、我々は、ユニットテストをオプトアウトする必要があり意味するものではありませんが、プッシュ来るツー突き出す場合、機能的には優れたユーザーエクスペリエンスとドアの外の製品を得ることを確実にするために最も重要である。
あなたが作る場合は、たとえば、データベースエンジン(または、必ずしもユーザーに面していない他のいくつかの製品)、ユニットテストは、あなたが本当にやるべきことがあります。
単位試験の試験片をコードおよび確認のためのプログラマーのその他のコードは何となっています。テスト駆動開発では、単体テストが初の認に失敗すると、以前のコードの記述の試験を要します。プログラマに興味のあるユニット。単体テストは簡単に実行できます。
機能試験のテストブラックボックスの要件を主原料として使用して作物が作りあげているユーザの機能であること。例えば、を押しても大きな赤いボタンを押すと、この鐘を開始。機能試験mightnなる試験。それは機械的過程の原因となる、ベルへのリングを押し、ボタンを押します。お客様に興味のある機能試験を実施していることを確認の高い工程で作業に適している。ことも多いの遅れを実行することを示しています。
ほとんどの開発作業では、両方のための場所があります。
ユニットテストは期待どおりに動作することを確認するために、コードの小さな単位をテストすることがあります。
機能テストは、システムの全体的な機能が期待されることをテストすることがあります。
これらは、異なるレベルであるとの両方を使用する必要があります。