70

harness自動化テストのテスト ケースやテスト スクリプトなど、テストや関連する一般的な用語を理解するのに苦労しています。

これは私がこれまでに得たものです:

自動化テストとは、テストの実行を制御し、実際の結果を期待される結果と比較するために、特別なソフトウェア (テスト対象のソフトウェア以外) を使用することです。また、テストの前提条件の設定も含まれます。この種のテストは、頻繁に実行されるテストに最適です。

現在、テスト ハーネスに問題があります。テスト ケース入力ファイル出力ファイル、およびテスト スクリプトのテスト スイートで構成されていることを読みました。私の質問は、テストケースとテストスクリプトの違いは何ですか?

ソフトウェアをどのように使用して、Acceptance Unit Testing (AUT) のさまざまな機能をテストしますか? また、スイート マスターケース エージェントなどの用語にも出くわしました。

4

4 に答える 4

74

そこにあるいくつかの広範な質問は、私の経験に基づいて答えようとします。

テスト ハーネスは、(1) (2)テスト ライブラリを使用したテストの実行、および (3)レポートの生成のすべての作業を実際に行う「イネーブラー」と考えてください。テスト スクリプトは、異なる (4)テスト データと (5)テスト シナリオを処理するように設計されている必要があります。基本的に、テスト ハーネスが配置​​され、前提条件となるデータが準備されると (データ準備とも呼ばれます)、誰かがボタンをクリックするか、1 つのコマンドを実行して、すべてのテストを実行し、レポートを生成できる必要があります。

テスト ハーネスは、ほとんどの場合、上記のすべてを実現するさまざまなものの集まりです。アプリケーションの開発中に単体テストを作成した場合、それはテスト ハーネスの一部になります。また、ユーザーがサイトにログインしたり、お気に入りペインが表示されたり、最近のメッセージや通知が表示されたりするなど、アプリの機能について他のテストを行うこともできます。次に、すべての「テスト スクリプト」を通過して実行する種類の「ランナー」を追加します(一度に 1 つずつテストを実行する必要はありません)。テスト ハーネスが単一のソフトウェアではなく、概念的なコレクションのように感じられる場合は、これを正しく理解しています :-)

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

単純だが完全に正解ではない:テスト ケースは、テストの目的、説明、前提条件、手順 (説明的または具体的)、期待される結果を定義します。テスト スクリプトは、そのテストを実行するために実行する実際の自動スクリプトになります。これはオートメーション コンテキストにあります。そしてそれは変わります。多くの。

ISTQB などの認定がテスト シナリオとして定義するものは、通常、一部の企業や国ではテスト ケースと呼ばれます。また、手動テストを参照する場合、テスト ケースはテスト スクリプトで反転されます (ステップが詳細に示されているが、自動化ハーネスの一部ではない場合)。また、テスト スクリプトはもっぱら自動化されたテストを意味すると言う人もいます。一方で、1 つのテスト スクリプトで複数のテスト ケースを組み合わせることができ、その逆も可能であると主張することもできます。そこで疑問が生じます。テスト手順はどのように適合するのでしょうか?

テスト開発ステージには、「ソフトウェアのテストで使用するテスト手順、テスト シナリオ、テスト ケース、テスト データセット、テスト スクリプト」を含めることができます。

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

また、AUT のさまざまな機能をテストするためにソフトウェアをどのように使用しますか?

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

RobotFrameworkSeleniumを見てください。Selenium ライブラリと組み合わせたロボット フレームワーク テスト (テキスト ファイルまたは html ファイルで記述) を使用すると、特定の何かをテストする自動化されたテストを作成できます。たとえば、ホームページの検証などです。ユーザーがすべてのメッセージを表示できるようにするには、別のテストを作成します。通知のクリアをテストするための別のもの。等々。

于 2012-07-24T09:52:08.933 に答える
15

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

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

テスト ハーネスは、テスト オブジェクトが実行される環境をシミュレートすることにより、コンポーネントまたはシステムの一部のテストを容易にする場合があります。これは、その環境の他のコンポーネントがまだ利用可能でなく、スタブやドライバーに置き換えられているため、または単に障害をテスト対象のオブジェクトに限定できる予測可能で制御可能な環境を提供するために行われる場合があります。これらは通常、テスト プロセスを支援するために開発者によって生成された特注のプログラムです。成熟した組織で使用される場合、これらのハーネスが「テスト アセット」と見なされ、バージョン管理と構成管理の対象となる可能性は十分にあります。

于 2012-08-03T05:54:28.297 に答える
1

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

于 2016-03-15T01:15:58.430 に答える