what is test harness
私はレーベルの大ファンではありません。これが私が意味することです。
QAを開始できるかどうかを判断する前に、いくつかの側面を確認する必要がある場合は、リストを作成してアクションを実行します。私の意見では、正式に「テスト準備レビュー」操作と呼んでいるかどうかは関係ありません。私がやるべきことをしている限り、特定の名前やラベルと呼ぶ必要はないと思います。 。
しかし、私は正直に立っています。最近、私のクラスでは、ソフトウェア開発のためのアジャイルスクラムモデルを教えていました。ありました 質問 ' アジャイルメソッドでテストはどのように実行されますか? 「私は2つの方法を説明していました。1つは各スプリントに含める方法であり、もう1つは直接の実装から学んだベストプラクティスです。これは開発の1つに対してQAスプリントを遅らせることです。
生徒の1人が、2番目の名前があるかどうか尋ねてきましたが、名前自体を強調したことがなかったため、名前を付けませんでした。
しかし、その瞬間、私たちが話しているプロセスを指す用語があることを確認するために、プロセスに適切にラベルを付けることがいかに重要であるかを感じました。
したがって、今日はそれを実行します。 「テストハーネス」という用語の背後にあるプロセスを学びます。
以前の記事のいくつかで前に述べたように、名前の文字通りの意味から多くのことが理解できます。したがって、辞書で「ハーネス」の意味を確認してください。この場合、「ハーネス」が適用されるかどうかの大きな証拠は、最後に表示されます。
テストハーネスが使用される場所には、次の2つのコンテキストがあります。
- 自動化テスト
- 統合テスト
最初のものから始めましょう:
学習内容:
コンテキスト#1:テスト自動化におけるテストハーネス
に インクルード 自動化テスト 世界、 テストハーネスとは、テストスクリプト、これらのスクリプトの実行、テスト結果の収集、比較(必要な場合)、および結果の監視に必要なパラメーター(つまり、データ)を含むフレームワークとソフトウェアシステムを指します。
例を使って、これをもっと簡単にしようと思います。
例:
私が使用するプロジェクトについて話していたら HPクイックテストプロフェッショナル (現在はUFT)機能テスト用、 HP ALM は、すべてのスクリプト、実行、および結果を整理および管理するためにリンクされており、データはMS Access DBから選択されます–以下は、このプロジェクトのテストハーネスです。
Windows7に最適なレジストリクリーナー
- QTP(UFT)ソフトウェア自体
- スクリプトとそれらが保存されている物理的な場所
- テストセット
- テストスクリプトに提供されるパラメータ、データ、またはさまざまな条件を提供するためのMS Access DB
- HP ALM
- テスト結果と比較モニタリング属性
ご覧のとおり、ソフトウェアシステム(自動化、テスト管理など)、データ、条件、結果–これらはすべてテストハーネスの不可欠な部分になります–唯一の除外はAUT自体です。
コンテキスト#2:統合テストでのテストハーネス
次に、テストハーネスの意味を探ります。 のコンテキスト 「統合テスト」 。
統合テストは、相互作用する2つまたはモジュール(またはユニット)のコードをまとめて、結合された動作が期待どおりであるかどうかを確認することです。
理想的には、2つのモジュールの統合テストは、両方のモジュールが100%準備ができており、単体テストが行われ、準備が整ったときに実行できるはずです。
ただし、私たちは完璧な世界に住んでいるわけではありません。つまり、統合テストの構成要素となる1つ以上のモジュール/コードユニットが利用できない可能性があります。この状況を解決するために、スタブとドライバーがあります。
スタッドは通常、その機能が制限されているコードの一部であり、代わりに使用する必要のある実際のコードモジュールの代わりになるかプロキシになります。
例:これをさらに説明するために、シナリオを使用させてください
統合するユニットAとユニットBがある場合。また、そのユニットAはユニットBにデータを送信します。つまり、ユニットAはユニットBを呼び出します。
ユニットAが100%使用可能で、ユニットBが使用できない場合、開発者はその機能が制限されたコードを記述できます(つまり、統合に重要な機能が10個、2個または3個しかない場合、ユニットBです。 A)で開発され、統合に使用されます。これはと呼ばれます スタブ。
統合は次のようになります。 ユニットA->スタブ(Bの代わりに)
一方、ユニットAが0%使用可能で、ユニットBが100%使用可能である場合、シミュレーションまたはプロキシはここでユニットAである必要があります。したがって、呼び出し元の関数が補助コードに置き換えられると、呼び出されます。 運転者 。
この場合の統合は次のようになります :DRIVER(Aの代わりに)->ユニットB
フレームワーク全体:統合テストを実行するためのスタブやドライバーの計画、作成、使用のプロセスは、テストハーネスと呼ばれます。
注意 :上記の例は限られており、リアルタイムのシナリオはこれほど単純でも単純でもない可能性があります。リアルタイムアプリケーションには、複雑で複合的な統合ポイントがあります。
結論として:
いつものように、STHは、最も技術的な定義でさえ、用語の単純で文字通りの意味から導き出すことができると信じています。
私のスマートフォンの辞書には、「ハーネス」は(動詞の文脈を見てください)と書かれています。
「効果的に使用するための条件を整えること。特定の目的のために制御を取得します。 「「
これに従い、これをテストに適応させます。
「テストハーネスは、正しいフレームワークを作成し、それ(およびそのすべての構成要素)を使用して、自動化か統合かを問わず、状況を最大限に活用するためにアクティビティ全体を制御することです。 「「
そこで、私たちは私たちのケースを休ませます。
終了する前に、さらにいくつかのことを行います。
Q.テストハーネスの利点は何ですか?
さて、人間の生命にとって呼吸の重要性は何であるかを尋ねますか?それは本質的ですよね?同様に、効果的にテストするためのフレームワークは与えられたようなものです。非常に多くの言葉でそれを綴らなければならない場合の利点-私たちが意識的に「テストハーネス」であるかどうかにかかわらず、すべてのテストプロセスにはテストハーネスがあります。それは、ルート、目的地、その他すべての旅のダイナミクスを知って旅行するようなものです。
Q.テストハーネスとテストフレームワークの違いは何ですか ?
個人的には、線がぼやけていることが多いため、関連する概念を理解する際に、比較と対比が適切なアプローチではないことが多いと思います。その質問への答えとして、テストハーネスは特定のものであり、テストフレームワークは一般的なものです。たとえば、テストハーネスには、使用するログインIDまでのテスト管理ツールの正確な情報が含まれます。一方、テストフレームワークは、テスト管理ツールがそれぞれのアクティビティを実行すると単純に言います。
Q. テストハーネスツールはありますか ?
テストハーネスには、自動化ソフトウェア、テスト管理ソフトウェアなどのツールが含まれています。ただし、テストハーネスを実装するための特定のツールはありません。すべてまたは任意のツールをテストハーネスの一部にすることができます:QTP、JUnit、HPALM-これらはすべてテストハーネスの構成ツールにすることができます。
著者について: この記事はSTHチームメンバーのSwatiSによって書かれました。
そして、常に定義があり、意見には常に違いがあります。私たちはあなたの意見を歓迎し、あなたの意見を聞くのが大好きです。 以下にコメント、質問、提案を残してください。
推奨読書
- HPLoadRunnerチュートリアルを使用した負荷テスト
- 初心者テスターのためのソフトウェアテストのアドバイス
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- 単体テスト、統合テスト、機能テストの違い
- テスターは自動化のためにテストを超えてグリップを失っていますか?
- 間もなく288億ドルに達するグローバルソフトウェアテストビジネス
- ソフトウェアテスターでモチベーションを維持する方法は?
- PrimereBookダウンロードのテスト