2012-07-24 20 views
47

私はテストハーネスと、テストケース、オートメーションテストのテストスクリプトのような関連する共通の用語を理解する上でいくつかの困難に直面しています。 オートメーションテストとは、テストの実行を制御し、実際の結果と期待される結果を比較するための特別なソフトウェア(テストされているソフトウェア以外)を使用することです。また、テスト前提条件の設定も含まれます。この種のテストは、頻繁に実行されるテストに最適です。テストハーネスとは何ですか?

今、テストハーネスに問題があります。私は、テストケース、入力ファイル、出力ファイル、およびテストスクリプトのテストスイートで構成されていると読んでいます。 私の質問は、テストケースとテストスクリプトの違いは何ですか?また、AUTのさまざまな機能をテストするためにソフトウェアをどのように使用しますか?私はまたスイートマスターやケースエージェントのようないくつかの言葉に出くわしました。

+0

あなたのプロジェクトを完全にテストしたいときには、それをルートとみなしてください。 – Pithikos

答えて

49

そこにはいくつかの広い質問があり、私の経験に基づいて答えようとします。実際は、(3)発生が報告(2)テストライブラリを使用して(1)実行テストのすべての作業を行い「イネーブラ」としてTest Harness

考えます。あなたのテストスクリプトは、さまざまな(4)テストデータと(5)テストシナリオを処理するように設計されている必要があります。基本的にテストハーネスが設置され、前提条件のデータが用意されている場合(別名データ準備)、ボタンをクリックするか、1つのコマンドを実行してすべてのテストを実行してレポートを生成できるはずです。

テストハーネスは、上記のすべてを実現するさまざまなものの集合である可能性が最も高いです。アプリケーションを開発する際に単体テストを書いたのであれば、テストハーネスの一部になります。ユーザーは、サイトへのログイン、お気に入りペイン、最近のメッセージと通知のような、あなたのアプリの機能性に関する他のテストも行うでしょう。次に、すべての "テストスクリプト"を実行し、のテストを1つずつ実行するのではなく、を実行する「ランナー」を追加します。テストハーネスが単一のソフトウェアではなくコンセプト集であると感じたら、これを正しく理解している:-)

私の質問は、テストケースとテストの違いは何ですか?スクリプト?

単純ではなく、完全に正しい答え:テストケースは、試験目的、説明、事前条件、(記述又は特定)手順、期待される結果を定義します。 A テストスクリプトは、そのテストを実行するために実行する実際の自動スクリプトになります。これは、オートメーションのコンテキストです。それが変わります。たくさん。

ISTQBのようなどのような資格は、通常テストケースいくつかの企業や国でと呼ばれているテストシナリオとして定義します。他のケースでは、手動テスト(ステップが詳細には示されているがオートメーションハーネスの一部ではない場合)を参照するときは、テストケースがテストスクリプトで反転されます。テストスクリプトは、自動テストだけを意味しているとの意見もあります。一方、いくつかのテストケースをテストスクリプトに組み込むことができ、その逆も可能であると主張することもできます。だから、質問をすると、のテスト手順はどうですか?

test developmentステージには次のものがあります。"テスト手順、テストシナリオ、テストケース、テストデータセット、テストソフトウェアで使用するテストスクリプト"

>(の関係よりも大きい)と仮定すると、それらをどのように関連づけますか?修辞的な質問 - あなたが働いている場所、クライアントが誰であるかなどによって異なります。最高のものは同僚/クライアントと定義することです。は定義ではなく用語の理解に同意します。私は現在、既存の手動テストケースまたはテストシナリオに基づいて、テストスクリプト=自動スクリプトを使用しています。

さらに、このソフトウェアを使用してAUTのさまざまな機能をテストしますか?

異なるテストを行い、さまざまなことをテストします。各テストは特定のアクションを実行し、AUTの出力が期待どおりのものと一致するかどうかを確認します - If displayed_value == expected_value入力ファイルを使用して、テストユーザー名とパスワードのテストリストのデータを提供することができます。または、異なるデータを使って同じテストを実行します。異なるメッセージなどで異なるユーザーとしてログインします。

Seleniumを見てください。 Seleniumライブラリと組み合わされたロボットフレームワークテスト(テキストまたはHTMLファイルで書かれています)では、ホームページ検証のような特定のテストを行う自動テストを書くことができます。ユーザーがすべてのメッセージを確認できるように、別のテストを作成します。もう1つは、通知のクリアをテストすることです。等々。

+0

説明をありがとう! – coffeeak

+0

私はまだ、もしあれば、テストハーネスとテストフレームワークの違いは何だろうと思います。それは同じツール "深さ"ですか? – Philm

+0

テストフレームワークにはテストデータやシナリオは含まれませんが、これは「技術的な」フレームワークであり、プロジェクトマネージャーにpptで表示される「フレームワーク」や方法論ではありません:-)また、Jenkins、私はそれが私のテストハーネスの一部だと言うでしょうが、フレームワークの一部ではありません(再び、私は技術的なものを指しています)。また、以下のテストスタブについての答えがあります。そして、楽しく、[ISTQBの回答](http://istqbexamcertification.com/what-is-test-harness-unit-test-framework-tools-in-software-testing/)は、これらは異なるが、一緒にグループ化されている。 – aneroid

12

テストハーネス:テストを実行するために必要なスタブとドライバで構成されるテスト環境。

テストハーネスとスタブは、不足しているアイテム(テストや外部システムにはまだ含まれていないコンポーネント)を複製するために使用されます。 多くの場合、いくつかのモジュールまたはコンポーネントの小規模な統合テストが実行される場合、テストデータをテスト対象のコンポーネントに取得するための方法とツールを考案または改良する必要があります。これはしばしばテストハーネスと呼ばれます。テストハーネスを構築するために必要な技術を理解する必要があるため、このテストはほとんどの場合開発チームによって行われます。

テストハーネスは、テストオブジェクトが実行される環境をシミュレートすることによって、コンポーネントまたはシステムの一部のテストを容易にすることができます。これは、その環境の他のコンポーネントがまだ利用可能でなく、スタブおよび/またはドライバによって置き換えられるか、またはテスト中のオブジェクトに任意のフォールトをローカライズできる予測可能で制御可能な環境を提供するために行われます。これらは通常、テストプロセスの支援のために開発者によって生成された特注のプログラムです。彼らが成熟した組織で使用されている場合、これらのハーネスは「テスト資産」とみなされ、バージョン管理&構成管理の対象となる可能性があります。

+2

はい、これはISTQB用語集のテストハーネスの定義です –

+0

@ user1109363これを正解として選択しなかった理由は何でしょうか? –

+0

robolectricをテストハーネスとみなしますか?そのシャドウオブジェクトを使用しているため – j2emanue

1

テストハーネスには、テストのコンパイルと実行に必要なすべての情報が含まれています。これには、テストケース、テスト中のソースファイル、スタブ、TDP(Target Deployment Port)構成設定が含まれます。

0

テストハーネスは、ユニット、モジュール、アプリケーションまたはシステムレベルでソフトウェアをテストするために必要なすべてのアイテムの集合であり、テストを実行するメカニズムを提供します。入力データ、テストパラメータ、テストケース、テストスクリプト、期待出力データ、テストツール、テスト結果レポートなどのすべての項目はテストハーネスの一部です。

関連する問題