configuration testing tutorial with examples
ソフトウェア構成テストの概要:
この記事は、ビジネスにとって非常に重要な特別なタイプのソフトウェアテストについて説明するために提供されました。
構成テストの基本、その必要性、重要性、目標、およびタイプについて説明します。この記事をさらに進めるにつれ、このテストの実行方法を詳しく学びます。
始めましょう!!
このチュートリアルでは、構成テストの完全な概要を説明します。このチュートリアルは、このテストの概念に不慣れな人にとっては完璧なガイドとして機能し、すでに経験を積んでいる人の知識を磨きます。
学習内容:
構成テストとは何ですか?
構成テストは、ハードウェアとソフトウェアの組み合わせまたは構成が異なる複数のマシンで開発中のシステムをテストする方法です。システムまたはアプリケーションのパフォーマンスは、サポートされている各ハードウェアおよびソフトウェア構成に対してテストされます。
ハードウェアとソフトウェアのさまざまな構成を言うとき、それは複数のオペレーティングシステムのバージョン、ブラウザ、サポートされているドライバ、メモリサイズ、ハードドライブの種類、CPUなどに起因します。

なぜこのテスト?
上で説明したように、このテストは、さまざまなシステム構成を考慮して、ソフトウェア、システム/アプリケーションのパフォーマンスを評価する手法です。
このテストは、システムまたはアプリケーションがバグ、問題、またはパフォーマンスの欠陥なしに正常に動作できる最適な構成を決定するために行われます。したがって、必要なパフォーマンス特性を提供する最も効果的な構成は、このテストの助けを借りて発見されます。
このテストの2番目の主な理由は、SRS(ソフトウェア要件仕様)で示されている他のソフトウェアまたは機器とのシステムの互換性を検証することです。
例
企業がC#言語でデスクトップアプリケーションを開発し、このアプリが.NETFramework上に構築されていると考えてみましょう。
また、このアプリは、フロントエンド(クライアント)、アプリケーション層(サーバー)、データベース層の3つの層を持つ3層アーキテクチャに基づいています。各レイヤーは、それに応じて特定のプラットフォームをサポートします。
各レイヤーが以下のプラットフォームをサポートしていると仮定しましょう。
クライアント– Windows 10 OS、Windows 7、Windows XP、LinuxOS。
サーバ – Ubuntuサーバー、 Windows Server 2016 、 Novell Open Enterprise Server 。
データベース– Microsoft SQL Server、IBM DB2、MySQL。

ここで、ソフトウェアテスターとして、上記のクライアント、サーバー、およびデータベースプラットフォームのさまざまな組み合わせのそれぞれでアプリケーションをテストし、アプリケーションが可能な構成のそれぞれで適切に機能することを確認する必要があります。
例えば 、 アプリケーションがWindows10 OS、Windows Server 2016、およびMySQLデータベースの組み合わせでどのように機能するかを確認してから、別のテストを実行して、アプリケーションがWindows 10 OS、Windows Server 2016、およびIBMDB2データベースの組み合わせでどのように機能するかを確認します。
そして、可能なすべての構成をテストするまで、以下同様です。
テストはソフトウェアに限定されるだけでなく、ハードウェアも対象とし、さまざまなハードウェアデバイスの各組み合わせをチェックする必要があります。したがって、このテストはハードウェア構成テストとも呼ばれます。
構成テストの準備
このテストには、構成テストを実行する前に満たす必要のある特定の前提条件があります。
前提条件は次のとおりです。
#1)カバレッジマトリックスの準備
考えられるハードウェアとソフトウェアの構成が非常に多いため、非常に時間がかかり、各構成を効果的にテストすることはほとんど不可能になります。
例えば 、上記で説明した例では、合計3 * 3 * 3、つまり27のソフトウェア構成があります。そして、5つの異なるハードドライブと6つの異なるメモリサイズがあるとしましょう。次に、カウントは27 * 5 * 9、つまり810構成になります。
画像にコンポーネントを追加すると、これは増え続けます。そのため、ソフトウェアテスト作業の計画を立て、どのプラットフォームがサポートされるかを明確に特定することが重要になります。
次に、ハードウェアとソフトウェアの構成のさまざまな組み合わせを保持するカバレッジマトリックスを作成する必要があります。このカバレッジマトリックスは、BCM(基本構成マトリックス)とも呼ばれます。

上の図は、テストしたい構成のサンプル概略マトリックスを示しています。
#2)構成の優先順位付け
構成マトリックスが準備されたら、次のステップは構成に優先順位を付けることです。
非常に広範囲の構成全体をテストすることは不可能であるため、この手順が必要です。したがって、クライアントのフィードバックに基づいて、最も重要な構成が参加し、最初に徹底的にテストする必要があります。
上記の2つの手順が完了したら、優先度に基づいてさまざまな構成のテストを進めることができます。
Microsoft VSTS –構成テストツール
Microsoft Visual Studio Team Services(VSTS)は、テスト計画に基づいてさまざまな構成でアプリをテストするのに大いに役立つツールです。
どのテストをどの構成で実行するかを決定するためのテスト計画が必要です。必要な構成に対して適切な環境がセットアップされていることを確認する必要があります。組み合わせのマトリックスができたら、それをテストする必要があります。
以下の手順に従って、このテストを実行できます。
#1) 構成をセットアップし、変数を作成します。変数は、構成内のコンポーネントの1つです。
例えば 、 Chrome、Firefox、IE10などの複数の値を持つことができる変数「ブラウザ」が存在する可能性があります。
#二) 構成をテスト計画/テストスイートまたは個々のテストケースに割り当てます。
#3) 各構成に対してテストを実行します。
#4) 各構成のテスト結果を追跡します。
VSTSを使用してこのテストを実行するための詳細なステップバイステップガイドは、次の場所で確認できます。 VSTS –さまざまな構成をテストする
目標
このテストのさまざまな目標を以下に示します。
- AUT(テスト対象アプリケーション)の最適な構成を決定します。
- ハードウェアに含まれる隠れた脆弱性を発見するため。
- 問題が事業運営を妨げる前に問題を検出して修正することにより、事業継続性を確保するため。
- 構成のずれをなくすため。
- ホスト構成エラーによる障害の数を最小限に抑えるため。
- アプリケーションを検証して、構成可能性を満たしていることを確認します。
- ハードウェアコンポーネントを追加、削除、または変更してシステムパフォーマンスを分析するには( 例えば 。メモリサイズの変更、ロードバランサーの追加など)。
- システムが地理的に分散した環境で正常に機能するかどうかを確認します(サーバーとクライアントは異なる場所にあります)。
- 構成の変更に関係なく、バグを簡単に再現できることを確認します。
- アプリケーションアイテムの追跡可能性と管理可能性を確認します。
構成テストの種類
私たちは持てる 2つの異なる行 このテストのための部門の。
に 最初の行 、それは2つの部分に分けることができます:
- ソフトウェア構成テスト
- ハードウェア構成テスト
に 二行目 、それは再び2つの部分に分けることができます– 1.クライアントレベルのテストと2.サーバーレベルのテスト
まず、ハードウェアとソフトウェアの構成について見てみましょう。
#1)ソフトウェア構成テスト:
このテストは、複数のOSバージョンやソフトウェアアップデートなどを使用してAUT(テスト対象アプリケーション)で実行されます。テストに使用するさまざまなソフトウェアのインストールとアンインストールに膨大な時間がかかるため、これは長時間のテストです。
時間を節約するための1つのアプローチは、ソフトウェア構成をテストするために仮想マシンを使用することです。 VMはリアルタイム構成をシミュレートし、物理マシンと同じ感覚を提供します。
したがって、単一の物理マシンに複数のソフトウェアをインストールおよびアンインストールする代わりに、テストを実行する必要があるそれぞれの異なる構成をシミュレートする複数の仮想マシンを使用できます。
ソフトウェア構成テストは、単体テストと統合テストを通過した後、ビルドがリリースされると開始されます。
#2)ハードウェア構成テスト:
ハードウェア構成テストは通常、さまざまなハードウェアが接続された物理マシンがあるラボで実行されます。
ビルドがリリースされるたびに、ハードウェアが接続されているすべての物理マシンにソフトウェアをインストールする必要があります。また、アプリケーションが正常に動作していることを確認するために、すべてのマシンでテストスイートを実行する必要があります。
上記のタスクを実行するには、各マシンでソフトウェアをセットアップし、ハードウェアをマシンに接続してから、テストスイートを手動で実行するためにかなりの労力が必要です。このタスクを自動化してテストスイートを実行したとしても、かなりの労力が必要になります。
また、この記事の前半ですでに説明したように、ハードウェア構成テストを実行する際に、テストするハードウェアの種類を詳しく説明します。コンピューターのハードウェアと周辺機器が多数あるため、すべてを実行することはほぼ不可能です。テスト。
初心者のためのマイクロソフトダイナミクス斧チュートリアル
そのため、テスターは、どのハードウェアが主に顧客によって使用されているかを分析し、優先順位に基づいてテストを実行します。
次に、クライアントレベルとサーバーレベルの構成テストについて説明します。
#1)クライアントレベルのテスト :ユーザビリティおよび機能テストとの共通点があります。このテストは、直接のユーザーの利益の観点から行われます。
#2)サーバーレベルのテスト :このタイプのテストは、リリース後に統合する予定の場合に、ソフトウェアと外部環境との間の相互作用を調査するために行われます。
企業にとってのこのテストの重要性
このテストは、企業が高性能でスケーラブルで利用可能なアプリケーションを考え出し、維持するために非常に重要です。
このテストは、非効率の原因となる要因を迅速に特定して修正することを目的として、継続的かつできれば自動化された方法で実行する必要があります(そうしないと、手動で実行すると非常に時間がかかります)。
結論
構成テストは、アプリケーションが最高のパフォーマンスを発揮するシステムの最適な構成を検出するため、他のソフトウェアテストタイプと同じくらい重要です。また、互換性の問題を特定して修正するのにも役立ちます。
この記事では、構成テストとは何か、なぜこのテストを実行するのか、その目標は何か、そのタイプは何か、このテストの前提条件は何か、どのように実行する必要があるか、どのように重要かについて学びました。エンタープライズなど、詳細に。
この記事が参考になり、構成テストについての公正なアイデアが得られたことを願っています。