構成テストとは何ですか? テストケースの例

⚡ スマートサマリー

構成テストでは、ソフトウェアとハ​​ードウェアの複数の組み合わせでアプリケーションを実行することで、機能要件がすべての環境で依然として満たされていることを確認し、リリースに最適な構成を特定できます。

  • 🧩 範囲: Operaシステム、ブラウザ、データベースのバージョン、ドライバ、メモリ、周辺機器はすべて構成としてカウントされます。
  • 📐 2つのタイプ: ソフトウェア構成テストはプラットフォームとアップデートを対象とし、ハードウェア構成テストは接続されているデバイスを対象とします。
  • 🗂️ マトリックスが先です: 組み合わせマトリックスを作成し、優先順位を付けましょう。なぜなら、網羅的な網羅は費用的に不可能だからです。
  • 甘いもの<XNUMXxXNUMX><XNUMXxXNUMX><XNUMXxAXNUMX><XNUMXxAXNUMX>️️ 仮想マシン: スナップショットは、物理テストマシン上での繰り返し行われるインストールとアンインストールのサイクルを不要にします。
  • 🏦 実例: 銀行業務アプリケーションとその紙幣計数機モデルは、ハードウェアのテストケースを示す好例である。
  • 🚨 意図的な失敗: 意図的に前提条件を削除すると、完全に準備されたラボ環境では隠されている欠陥が明らかになる。

ソフトウェアとハ​​ードウェアの組み合わせ全体にわたる構成テスト

構成テスト

構成テスト これは、ソフトウェアとハ​​ードウェアの複数の組み合わせでアプリケーションをテストし、機能要件を評価し、アプリケーションが欠陥や不具合なく動作する最適な構成を見つけるためのソフトウェアテスト手法です。

構成とは、製品がサポートしなければならないあらゆる組み合わせのことです。オペレーティングシステムのバージョン、ブラウザ、データベースのリリース、ドライバ、メモリサイズ、または接続されている周辺機器などです。これを区別する価値があります。 互換性テストこれは、製品が他のソフトウェアやプラットフォームと共存できるかどうかを問うものです。構成テストは、より限定的な質問をします。つまり、サポートされている設定が変更された後でも、同じビルドが正しく動作するかどうかです。

構成テストの例

具体的な例として、デスクトップアプリケーションを考えてみましょう。

デスクトップアプリケーションは通常、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つ目の戦略は、意図的にテストケースを失敗させ、システムがどれだけ効率的に対処できるかを確認することです。

例:

複数のブラウザでテストする必要のある銀行アプリケーションを例にとると、すべての前提条件が満たされた環境でホストされている場合、単体テストと 統合テスト テストラボで。

顧客サイトにインストールされた同じアプリケーションでも、マシンにソフトウェアのアップデートや、アプリケーションが直接的または間接的に依存する依存関係のバージョンがインストールされていないために、動作しない場合があります。構成要件の一部を削除して意図的にテストを失敗させ、再度テストを行うことで、顧客が発見する前にこの種の欠陥を明らかにすることができます。下の画面は、このような構成依存の障害が制御された環境で再現されている様子を示しています。

前提条件が不足しているため、クライアントマシンで銀行アプリケーションが失敗する

ハードウェア構成のテスト

ハードウェア構成テストは通常​​、異なるハードウェアが接続された実機を備えた実験室で行われます。

ビルドがリリースされるたびに、ソフトウェアはそれらのマシンすべてにインストールされ、各マシンでテストスイートが実行され、アプリケーションが接続されたデバイスで正しく動作することを確認します。

その作業にはかなりの労力が必要だ。各マシンにソフトウェアをインストールし、ハードウェアを接続し、その後、ソフトウェアスイートを手動で実行するか、自動化する必要がある。

テスト対象となるハードウェアの種類も指定する必要があります。コンピュータのハードウェアや周辺機器は非常に多種多様であるため、すべてを網羅することは不可能です。そこで、テスターはユーザーが実際にどのデバイスを使用しているかを分析し、その優先順位に基づいてテストを実施します。

サンプルテストケース

ハードウェアの互換性をテストした銀行業務のシナリオを考えてみましょう。紙幣計数機に接続された銀行アプリケーションは、ロレックス、ストロブ、マックスセル、ストックなど、複数の機種に対応する必要があります。

サンプル テストケース 紙幣計数機には、以下のものが含まれます。

  • 前提条件がインストールされていない場合、アプリケーションとロレックスモデル間の接続を確認します。
  • 前提条件がインストールされたら、アプリケーションとロレックスモデル間の接続を確認してください。
  • システムが紙幣を正しくカウントしていることを確認してください。
  • システムがどのように誤カウントを報告するかを確認する
  • 改ざんされた紙幣の取り扱いを確認する
  • 応答時間を確認する
  • 偽札が検出されたことを確認する

これらの事例は単一のモデルに関するものであり、市場に出回っている残りのモデルはすべてテストラボで同じ方法でセットアップしてテストする必要があり、社内で実施することはほとんど現実的ではありません。ハードウェア構成テストを専門とする組織にアウトソーシングする方が、多くの場合、より現実的な選択肢となります。

よくあるご質問

構成テストでは、製品がサポートする設定(オペレーティングシステム、データベースバージョン、接続デバイスなど)を変更し、テストスイートを再実行します。互換性テストでは、製品が連携する必要のある外部ソフトウェア、プラットフォーム、ブラウザと共存できることを確認します。

リスクに見合うだけの数。使用状況分析に基づいて優先順位が決定されます。まず、ユーザーベースの大多数が使用しているプラ​​ットフォーム、ブラウザ、デバイスの組み合わせを網羅し、次に最低限サポートされる仕様を網羅します。

通常は、システム管理者による環境構築のサポートを受けた品質保証チームが担当します。ハードウェアを多用する製品の場合は、専任のラボチーム、または外部委託の専門家が物理デバイスのテストを担当します。

ソフトウェアセットアップ用の仮想マシンおよびコンテナプラットフォーム、ハードウェアおよびブラウザ用のデバイスラボまたはクラウドデバイスファーム、そして テスト自動化 あらゆる構成で同じスイートを再生するためのフレームワーク。

組み合わせ爆発、ライセンスや物理デバイスのコスト、環境プロビジョニングの遅延、特定の構成でのみ再現する不具合など。優先順位付けと仮想化によって、これらの問題のほとんどを解決できます。

単体テストと統合テストに合格した後、通常はシステムテストと並行して実施されます。新しいオペレーティングシステムやドライバのバージョンによって以前の結果が無効になる可能性があるため、メジャーリリースごとに繰り返されます。

モデルは、実際の使用状況と過去の不具合データに基づいて構成の組み合わせをランク付けし、マトリックスを最もリスクの高い行に絞り込みます。また、不具合をクラスタリングして、単一の構成原因を共有する不具合を示します。

はい。複数の構成で1つのテストスイートを実行するための、パラメータ化されたテストスキャフォールディング、環境プロビジョニングスクリプト、およびCIジョブ定義を作成します。ただし、マトリックス自体は、サポート対象プラットフォームリストから取得する必要があります。