並列テストとは?方法、アプローチ、例
⚡ スマートサマリー
並行テストでは、既存システムと新開発システムを同じ入力データに対して同時に実行することで、移行されたデータ、計算、および業務フローが依然として同一の結果を生成することをテスターが確認できます。
並列テストとは何ですか?
並列テスト 並列テストとは、ソフトウェアテストの一種で、アプリケーションの複数のバージョンまたはサブコンポーネントを、異なるシステム上で同じ入力を用いて同時にテストすることで、テスト実行時間を短縮する手法です。並列テストの目的は、旧バージョンと新バージョンの動作が同じか異なるかを確認し、新バージョンの方が効率的かどうかを検証することです。
下の図は、並列テストを示しています。
並列テストの例
組織が新しいシステムに移行する際、既存データは移行作業の重要な要素であり、その移行は複雑です。
ソフトウェアテストでは、新しく開発されたシステムと古いシステムとの互換性を検証するために、以下の図に示すように並行テストが行われます。
並列テストを行う理由
並行テストは、これらの理由から実施されます。
- 新しいバージョンのアプリケーションが正しく動作することを確認するには
- 新旧バージョン間で結果の一貫性を確保するため
- 2つのバージョン間でデータ形式が変更されたかどうかを確認する
- 新しいアプリケーションの整合性を確認するには
例えば、ユーザーが現在アプリケーションのバージョン1.0を使用している場合、3月からバージョン1.1に移行することになります(下図参照)。
このような場合、テスターは並行してテストを実行し、データ移行が正常に完了したこと、および新バージョンの変更がシステム機能やユーザーが期待する出力に影響を与えないことを確認します。
並列テストをいつ行うか
並列テストは、次のような場合に広く利用されます。
- 同社は旧システムから新システムへ移行している。
- Sync2つのシステム間で同期化が行われます
- レガシーデータは、あるシステムから別のシステムにインポートされます。
- すべての結果は正確に定義されなければならない。例えば、金融や保険の分野では、計算がシステムの主要な機能となる。
並列テストの方法: 完全なアプローチ
並列テストを行うには、アプリケーションの異なる部分をそれぞれテストする複数のプロジェクト(スレーブプロジェクト)と、それらを実行する1つのプロジェクト(マスタープロジェクト)を作成します。
並行テストには2段階の基準がある。
- 並行試験の参加基準 並列テストを効率的に実行するために満たさなければならないタスクを定義する。
- 並行テスト終了基準 ―並行テスト段階の成功裡の完了を定義する。
まず、いくつかの前提条件を満たす必要があります。
- 並行テストは開始できません。 テスト環境 セットアップが完了しました
- すべての前提条件とシナリオを最初に定義する必要があります
- レガシーデータと新しいデータは正常に移行される必要があります
- 並行テストは、すべての終了条件が満たされるまで完了しません。
並列テストを以下の5つのステップで実行する。
- 旧システムと新開発システムを比較してテストする。
- 2つのシステムの違いを理解する。
- 同じ入力値を使用して、完全なサイクルを実行します。
- 新しく開発したシステムの出力と、旧システムの出力を比較して測定する。
- 発見されたバグの原因を報告してください。
並列テストのグッドプラクティス
いくつか役立つヒントをご紹介します。
並列テストで特定された典型的なバグ
- 内部ロジックが変更される
- 製品の流れが変わる
- 主要な機能が変更されました
必要なサイクル数はいくつですか?
テストサイクルの数はモジュールの複雑さによって異なります。事前に定義されたシナリオを使用して、複数のシナリオサイクルを実行します。 テストデータ それは以前のシステムで引き継がれたものです。
違いを分類する
新システムと旧システムの結果は、行ごとに測定し、相違点を強調表示し、すべての相違点をエラーの種類別に分類する必要があります。
サイクル中に発生したエラーの種類
それぞれの相違点について、テスターはどちらが該当するかをメモしておくべきである。
- 入力エラー
- 旧システムに起因するエラー
- 説明可能または許容できる差異
- 予期しないエラー
並列テストではないもの
表が境界線を描きます。
| 並列テストです | 並列テストではありません |
| 更新されたアプリケーションを以前のアプリケーションと比較してテストします。 | XNUMX つのソフトウェアのみをテストします。 |
| 同じ入力条件下で、新しいソフトウェアを使用して古いシナリオを実行する。 | クロスブラウザまたはクロスプラットフォームテスト。 |
| 目的は、以前のシステムに従って結果を確認することです。 | 目的は設計上の問題点を見つけることです。 |
| 旧システムと新開発システムの両方に関する知識が必要です。 | その違いを知っている必要はありません。 |
並列テストの課題
- 製品に関する完全な知識が求められます。
- あらゆる結果をテストする必要がある
- データ入力と製品の流れには絶え間ない注意が必要である。



