構成テストとは何ですか? テストケースの例
⚡ スマートサマリー
構成テストでは、ソフトウェアとハードウェアの複数の組み合わせでアプリケーションを実行することで、機能要件がすべての環境で依然として満たされていることを確認し、リリースに最適な構成を特定できます。
構成テスト
構成テスト これは、ソフトウェアとハードウェアの複数の組み合わせでアプリケーションをテストし、機能要件を評価し、アプリケーションが欠陥や不具合なく動作する最適な構成を見つけるためのソフトウェアテスト手法です。
構成とは、製品がサポートしなければならないあらゆる組み合わせのことです。オペレーティングシステムのバージョン、ブラウザ、データベースのリリース、ドライバ、メモリサイズ、または接続されている周辺機器などです。これを区別する価値があります。 互換性テストこれは、製品が他のソフトウェアやプラットフォームと共存できるかどうかを問うものです。構成テストは、より限定的な質問をします。つまり、サポートされている設定が変更された後でも、同じビルドが正しく動作するかどうかです。
構成テストの例
具体的な例として、デスクトップアプリケーションを考えてみましょう。
デスクトップアプリケーションは通常、2層または3層の形式で構築されます。 ASP.NETクライアント、ビジネスロジックサーバー、データベースサーバーで構成され、各コンポーネントは下記にリストされているプラットフォームをサポートしています。
- クライアントプラットフォーム – Windows XP、 Windows 7, Windows 8、以下同様
- サーバープラットフォーム – Windows サーバー2008 Windows Server 2008 R2、 Windows サーバー2012 R2
- データベース– SQL Server 2008、SQL Server 2008 R2、SQL Server 2012など
テスターは、クライアント、サーバー、データベースを、プラットフォームとデータベースのバージョン全体にわたって連携させてテストし、アプリケーションが正しく機能し、サポートされているすべての組み合わせでエラーが発生しないことを確認する必要があります。
構成テストはソフトウェアに限定されません。ハードウェアにも適用されるため、ハードウェア側はハードウェア構成テストと呼ばれます。テスト対象アプリケーションがサポートする必要のあるプリンタ、スキャナ、Webカメラなどのデバイスが対象となります。以下のマトリックスは、テスト実行開始前にこれらの組み合わせがどのように配置されるかを示しています。
構成テストの前提条件
どのプロジェクトにおいても、構成テストを開始する前に、3つの前提条件を満たしている必要があります。
- ソフトウェアとハードウェア構成のさまざまな組み合わせを一覧にしたマトリックスを作成する
- すべての構成をテストするのは現実的ではないため、それらの構成を優先します。
- 優先順位付けされた順序で各構成をテストする
構成テストの目的
構成テストは、以下のことを達成することを目的としています。
- アプリケーションが構成可能性要件を満たしているか検証する
- タイムゾーン、言語、日付形式などの地域設定を変更するなどして、通常のテストでは見逃される欠陥を明らかにするために、意図的に障害を発生させる。
- テスト対象アプリケーションの最適な構成を決定する
- ロードバランサーの追加、メモリの増減、異なるプリンターモデルの接続など、ハードウェアリソースが変更された際のシステムパフォーマンスを分析します。
- 優先順位付けに対するシステム効率を分析し、テストが利用可能なリソースをどれだけ効果的に活用して最適な構成に到達したかを判断する。
- 地理的に分散した環境(例えば、サーバーが1か所にあり、クライアントが別の場所にある場合)でシステムを検証します。この場合、システムはローカルシステムの設定に関係なく動作するはずです。
- 構成変更時に不具合がどの程度容易に再現するかを確認する
- アプリケーション項目が残っていることを確認してください trac適切な文書化と明確に識別可能なバージョン記録によって可能になる
- アプリケーション項目が常に管理可能な状態であることを確認してください。 ソフトウェア開発ライフサイクル
構成テストの方法
戦略は、2種類の構成テストのうちどちらが対象となるかによって異なります。
- ソフトウェア構成のテスト
- ハードウェア構成のテスト
ソフトウェア構成のテスト
ソフトウェア構成テストでは、テスト対象アプリケーションを複数のオペレーティングシステム、ソフトウェアアップデート、および依存関係のあるバージョンに対して実行します。テストの各段階で関連するソフトウェアのインストールとアンインストールが必要となるため、時間がかかります。
そのコストを削減する一般的な方法は、テストを行うことです。 仮想マシン仮想マシンとは、ソフトウェア上にインストールされた、物理ハードウェアのように動作する環境です。そのため、テスターはまるで実際のマシン上で作業しているかのように動作し、構成自体は使い捨て可能です。仮想マシンは、ほとんどの機能チェックにおいて、実際の構成を十分に忠実にシミュレートします。
複数の物理マシンにインストールとアンインストールを繰り返すのではなく、アプリケーションを仮想マシンにインストールし、そこからテストを継続します。複数の仮想マシンを並行して実行し、それぞれをスナップショットから復元することで、作業を大幅に簡素化できます。
ソフトウェア構成テストは通常、次のときに開始できます。
- テスト対象となる構成可能性要件が指定されています。
- その テスト環境 準備ができて
- テストチームは構成テストの訓練を受けています
- リリースされたビルドは、単体テストと統合テストに合格しています。
典型的な テスト戦略 1つ目の戦略は、各ソフトウェア構成に対して機能テストスイートを実行し、アプリケーションが意図どおりに、欠陥やエラーなく動作することを確認することです。2つ目の戦略は、意図的にテストケースを失敗させ、システムがどれだけ効率的に対処できるかを確認することです。
例:
複数のブラウザでテストする必要のある銀行アプリケーションを例にとると、すべての前提条件が満たされた環境でホストされている場合、単体テストと 統合テスト テストラボで。
顧客サイトにインストールされた同じアプリケーションでも、マシンにソフトウェアのアップデートや、アプリケーションが直接的または間接的に依存する依存関係のバージョンがインストールされていないために、動作しない場合があります。構成要件の一部を削除して意図的にテストを失敗させ、再度テストを行うことで、顧客が発見する前にこの種の欠陥を明らかにすることができます。下の画面は、このような構成依存の障害が制御された環境で再現されている様子を示しています。
ハードウェア構成のテスト
ハードウェア構成テストは通常、異なるハードウェアが接続された実機を備えた実験室で行われます。
ビルドがリリースされるたびに、ソフトウェアはそれらのマシンすべてにインストールされ、各マシンでテストスイートが実行され、アプリケーションが接続されたデバイスで正しく動作することを確認します。
その作業にはかなりの労力が必要だ。各マシンにソフトウェアをインストールし、ハードウェアを接続し、その後、ソフトウェアスイートを手動で実行するか、自動化する必要がある。
テスト対象となるハードウェアの種類も指定する必要があります。コンピュータのハードウェアや周辺機器は非常に多種多様であるため、すべてを網羅することは不可能です。そこで、テスターはユーザーが実際にどのデバイスを使用しているかを分析し、その優先順位に基づいてテストを実施します。
サンプルテストケース
ハードウェアの互換性をテストした銀行業務のシナリオを考えてみましょう。紙幣計数機に接続された銀行アプリケーションは、ロレックス、ストロブ、マックスセル、ストックなど、複数の機種に対応する必要があります。
サンプル テストケース 紙幣計数機には、以下のものが含まれます。
- 前提条件がインストールされていない場合、アプリケーションとロレックスモデル間の接続を確認します。
- 前提条件がインストールされたら、アプリケーションとロレックスモデル間の接続を確認してください。
- システムが紙幣を正しくカウントしていることを確認してください。
- システムがどのように誤カウントを報告するかを確認する
- 改ざんされた紙幣の取り扱いを確認する
- 応答時間を確認する
- 偽札が検出されたことを確認する
これらの事例は単一のモデルに関するものであり、市場に出回っている残りのモデルはすべてテストラボで同じ方法でセットアップしてテストする必要があり、社内で実施することはほとんど現実的ではありません。ハードウェア構成テストを専門とする組織にアウトソーシングする方が、多くの場合、より現実的な選択肢となります。


