Flying Cat Penguin

ゆるゆる仕事、ソフトウェアテスティング関連のことについて綴ります。

Back to Back Testingについて

Back to Back Testingについて理解するために、下記記事の内容をざっくりGoogle翻訳したものを掲載します。

引用
www.professionalqa.com


ソフトウェア開発は、コンピュータプログラミング、文書化、テスト、および欠陥やバグの修正のプロセスです。これらはすべて、ソフトウェア製品を生み出すアプリケーションやフレームワークの作成と保守に関係しています。 ソフトウェア開発のこれらすべての段階は非常に重要であり、ソフトウェア開発ライフサイクル(SDLC)において重要な役割を果たしています。開発プロセス全体で実行されるソフトウェアテストは、製品の品質を検証し、そのパフォーマンスと有効性を保証します。

しかしながら、プログラム実行に基づくソフトウェアテストはかなりの開発工数を消費するかもしれません。 これに関連して、2つ以上の機能的に同等なバージョンのプログラムを互いにテストすることは、多数のテストケースに対するプログラム応答の正しさをチェックするための潜在的に単純な方法を提供するため、魅力的です。この手法の1つの名前はBack to Back Testingです。これは、新しいソフトウェアや大幅な変更後のソフトウェアのテストに使用される費用対効果の高い方法です。

Back to Back Testingの定義
1998年にSomervilleによって定義されたBack to Back Testingは、テストのためにソフトウェアアプリケーションの複数のバージョンが存在するときに常に使用されます。 ここでは、すべてのバージョンが同様の一連のテストでテストされ、その後、何らかの問題が存在する場合、結果が常にシステム/アプリケーションの問題について比較されます。 Back to Back Testingはソフトウェアテストの一種で、比較テストとも呼ばれます。これは、将来ソフトウェアに不一致が生じた場合に備えて、コンポーネントの2つ以上のバリエーションが常に類似の入力でテストされ、対応する出力が比較および検査される一種のテストです。 したがって、連続したテストでは、ソフトウェア製品の2つの実装バージョンで単一のテストセットが実行され、結果が比較されます。 結果に不一致が生じるたびに、コンポーネントの2つのバージョンのうちの1つがおそらく失敗を証明しています。
さらに、Back to Back Testingは、それに関連するイベントが適切に調べられ定義されるプロセスです。 このテストでは、常に機能同等のソフトウェアコンポーネントから得られる全体の応答を相互比較します。 このテストの間、テストチームによって違いが決定または観察されるたびにそれが測定され、必要に応じてそれも適用されます。

Back to Back Testingの例:
Back to Back Testingの完璧な例は、POSマシン(POSまたはカードスワイプマシン)で使用されているさまざまなバージョンのソフトウェアのテストです。 ここでは、データがバックエンドでどのように操作されるかにかかわらず、応答と出力はすべてのバージョンで同じですが、入力は同じです。 これは連続したテストの機能を完全に反映しており、それが世界中のテスターによって新しいソフトウェアのためだけでなく、それに大きな修正や変更を加えた後のソフトウェアのテストのために使われる費用対効果の高いアプローチであることを検証します。

複数の実装にアクセスする理由
テスターと開発者がソフトウェア開発プロセス中に多数の実装を実行する理由はいくつかあります。 クライアントの要求からソフトウェアの技術的要求まで、さまざまな要因が、ソフトウェアまたはアプリケーションで複数の実装を実行するというテスターの決定に影響を与えます。 これらの理由のいくつかを以下に記載します。

  • 安全性が重要なシステムは、最終結果の正確性を保証するために、重要なモジュールの複数の独立した実装を使用することがあります。
  • 開発者やテスターは、2番目の実装として競合他社の製品、または以前のバージョンを使用する可能性があります。
  • ハードウェア設計者に仕様として役立つ新しいチップのソフトウェアシミュレーションを書くかもしれません。 チップを構築した後、チップハードウェアによって計算された結果をソフトウェアシミュレータによって計算された結果と比較することができる。

Back to Back Testingのプロセス:
Back to Back Testingのプロセスは、主にシステム内のすべての欠陥とエラーを見つけることに専念している経験豊富で知識豊富な専門家のチームによって実行されます。 このテストでは、すべての製品のさまざまな要素が既存の食い違いについてテストされていることを確認します。これらの食い違いは、その後完全で期待される結果を得るために解決されます。 Back to Back Testingのプロセスは、以下に説明する3つの重要な段階で構成されています。

  1. テストケースの準備:これはバックツーバックテストの最初の段階です。ここでは、ソフトウェアまたはアプリケーションでテストを開始するための一連の特定の目的のテストケースが用意されています。
  2. アプリケーションの実行:テストの最初の段階で準備されたテストケースのセットは、さまざまなシステムまたはアプリケーションのバージョンを実行するためにテスターによってここで使用されます。 テストが実行されると、結果は異なるファイルに保存されます。
  3. 比較と報告:これは、異なるファイルに保存されているすべての結果の自動比較が行われるバックツーバックテストの最後の段階です。 さらに、異なるシステムバージョン間に存在する可能性があるシステムまたはアプリケーションの問題を示す差分レポートが作成されます。

Back to Back Testingの利点:
前述のように、Back to Back Testingはソフトウェア製品の2つの実装されたバージョンで実行され、その後それらの結果は既存の矛盾やエラーと比較されます。 したがって、この種のテストはクライアントだけでなくソフトウェアエンジニアにとっても非常に有益です。 徹底的な比較の実行から費用対効果の高いものまで、Back to Back Testingがテストに最適な選択肢です。 その主な利点のいくつかは以下のとおりです。

  • ソフトウェアアプリケーションの2つ以上のバージョンの比較を実行します。
  • ソフトウェアの弱点と長所を簡単に判断できます。
  • 製品版の発売前に修正や確認が必要となる可能性のある製品のすべての重要な機能を知ることができます。
  • Back to Back Testingは、新しいソフトウェアに対する費用対効果の高いテストです。
  • システムまたはアプリケーションに大幅な変更や変更を加えた後でテストを実行できます。
  • 競合製品の設計構造を理解するのに役立ちます。競合製品は、ソフトウェアまたはアプリケーションの将来の改善および機能拡張を行うための信頼できるベンチマークとして使用できます。

結論:
今日の時代では、ソフトウェア業界には、優れた品質と技術的に高度なソフトウェアシステムおよびアプリケーションが豊富にあります。 しかし、この豊富さにより、組織は独自の優れた機能を備えたソフトウェアやアプリケーションの開発を余儀なくされています。 この開発目標を達成するために、世界中の開発者とテスターがさまざまな開発とテストの手法を使用しています。 このようなテスト手法の1つにBack to Back Testingがあります。これにより、テスト担当者はコンポーネントの2つ以上のバリエーションを同じような入力でテストできます。 テストが完了すると、将来ソフトウェアに発生する可能性がある矛盾がある場合に備えて、すべてのバリアントの対応する出力が比較および検査されます。 この適切なテストと比較によって、ソフトウェア内のすべての欠陥を発見し、ソフトウェアシステムとアプリケーションに関する深い知識を得ることができます。