並列テストとは定義、アプローチ、例
並列テスト
並列テスト アプリケーションの複数のバージョンまたはサブコンポーネントを、異なるシステムで同時に同じ入力を使用してテストし、テスト実行時間を短縮するソフトウェア テストの種類です。並列テストの目的は、従来のバージョンと新しいバージョンの動作が同じか異なるかを調べ、新しいバージョンの方が効率的かどうかを確認することです。
以下の画像は、並列テストを示しています。
並列テストの例
組織が古いシステムから新しいシステムに移行する場合、レガシー データは重要な部分になります。このデータの転送は複雑なプロセスです。
ソフトウェアのテストでは、新しく開発したシステムと古いシステムの互換性を検証する「並行テスト」が行われます。
並列テストを行う理由
並列テストは次の理由で行われます。
- 新しいバージョンのアプリケーションが正しく動作することを確認するには
- 新しいバージョンと古いバージョンの間で一貫性が同じであることを確認するには
- XNUMX つのバージョン間でデータ形式が変更されたかどうかを確認するには
- 新しいアプリケーションの整合性を確認するには
たとえば、現在ユーザーはアプリケーションのバージョン 1.0 を使用していますが、1.1 月からは別のバージョンのアプリケーション (たとえば XNUMX バージョン) を使用することになります。
このような場合、テスターはデータ移行が正常に完了したかどうかを評価するために、並行テストを実行する必要があります。 また、新しいバージョンでの変更がシステム機能に影響を与えないかどうかを確認します。 テスターは、変更が適切に実行され、ユーザーが要件に従って望ましい出力を取得していることを検証する必要があります。
並列テストをいつ行うか
並列テストは次の場合に広範囲に使用できます。
- 会社が古いシステムから新しいシステムに移行する
- 2つのシステムで同期を実行する場合
- あるシステムから別のシステムにインポートされたレガシー データ
- すべての結果をより正確に定義する必要があります。 たとえば、計算がシステムの主要な機能である金融ドメインや保険ドメインなどです。
並列テストの方法: 完全なアプローチ
並列テストを実行するには、アプリケーションの異なる部分をテストする複数のプロジェクト (スレーブ プロジェクト) と、これらのプロジェクトを実行する XNUMX つのプロジェクト (マスター プロジェクト) を作成するだけです。
並列テストには XNUMX つのレベルの基準があります。
- 並行テストのエントリー基準並列テストのエントリ基準は、並列テストを効率的に実行する前に満たさなければならないタスクを定義します。
- 並列テストの終了基準並列テストの終了基準は、並列テスト段階の正常な終了を定義します。
並列テストを実行する前に、満たす必要のある前提条件がいくつかあります。
- 環境設定が完了するまで並列テストを開始できません。
- すべての前提条件とシナリオを最初に定義する必要があります
- レガシーデータと新しいデータは正常に移行される必要があります
- 並列テストは、すべての終了基準が満たされるまで完了しません。
並列テストを実行するには、次の手順に従う必要があります。
ステップ 1: 新しく開発されたシステムに対して古いシステムを実行します。
ステップ 2: 両方のシステムの違いを理解する
ステップ 3: 同じ入力を使用して完全なサイクルをスローします
ステップ 4: 新しく開発したシステムの出力を古いシステムと比較して測定します
ステップ 5: バグの原因が見つかった場合は報告します
並列テストのグッドプラクティス
並列テストを実行するために役立つかもしれないいくつかのヒントとテクニックをここに示します。
- 並列テストで特定された典型的なバグ
内部ロジックが変更される
商品の流れが変わります
主要な機能主義者が変更されました
- 何サイクル必要か
テスト サイクルの数はモジュールの複雑さによって異なります。
以前のシステムから渡された、事前定義されたテスト データを使用して複数のシナリオ サイクルを実行します
- 違いの分類並行テスト サイクルを実行するときは、新しいシステムと従来のシステムの両方の結果を行ごとに測定し、相違点を強調表示する必要があります。 捕捉したすべての違いは、エラーの種類に応じて定義する必要があります。
- サイクル中に発生したエラーの種類エラーについては、テスターは並列テストの実行中に次の点を書き留めておく必要があります。
- 入力エラー
- 古いシステムによるエラー
- 説明可能な、または許容できる違い
- 予期しないエラー
並列テストではないもの
並列テストです | 並列テストではありません |
---|---|
更新されたアプリケーションを以前のアプリケーションと比較してテストします。 | XNUMX つのソフトウェアのみをテストします。 |
予約された入力条件を使用して、新しいソフトウェアで古いシナリオを実行します。 | クロスブラウザまたはクロスプラットフォームのテスト。 |
目的は、以前のシステムに従って結果を確認することです。 | 目的は、設計上の問題を見つけることです。 |
古いシステムと新しく開発されたシステムに関する知識が必要です。 | 「違いを知る」は必須ではありません。 |
並列テストの課題
- 完全な製品知識が必要です。
- あらゆる結果をテストする必要がある
- データ入力と製品の流れに集中する必要がある
製品概要
- In ソフトウエアエンジニアリング, 並列テストとは、テスト時間を短縮するために、複数のアプリケーションまたは XNUMX つのアプリケーションのサブコンポーネントを同時にテストすることです。
- これにより、新しいシステムがソフトウェアを効率的に実行するのに十分な能力を備えていることが保証されます。