Skip to main content
QUICK REVIEW

[論文レビュー] Searching for test data with feature diversity

Robert Feldt, Simon Poulding|arXiv (Cornell University)|Sep 18, 2017
Software Testing and Debugging Techniques参考文献 15被引用数 6
ひとこと要約

本稿では、特定の特徴(例:文字列長、数値文字数)に特化した多様性を持つテストデータを生成するための探索ベースの手法を提案し、2次元の特徴空間において10のアプローチを評価している。勾配上昇法が目的の特徴領域をカバーする上で最も効率的であったが、ランダムサンプリングも競争力を持ち示しており、繰り返しテストのシナリオではハイブリッドまたはモデル支援戦略が最適であると示唆している。

ABSTRACT

There is an implicit assumption in software testing that more diverse and varied test data is needed for effective testing and to achieve different types and levels of coverage. Generic approaches based on information theory to measure and thus, implicitly, to create diverse data have also been proposed. However, if the tester is able to identify features of the test data that are important for the particular domain or context in which the testing is being performed, the use of generic diversity measures such as this may not be sufficient nor efficient for creating test inputs that show diversity in terms of these features. Here we investigate different approaches to find data that are diverse according to a specific set of features, such as length, depth of recursion etc. Even though these features will be less general than measures based on information theory, their use may provide a tester with more direct control over the type of diversity that is present in the test data. Our experiments are carried out in the context of a general test data generation framework that can generate both numerical and highly structured data. We compare random sampling for feature-diversity to different approaches based on search and find a hill climbing search to be efficient. The experiments highlight many trade-offs that needs to be taken into account when searching for diversity. We argue that recurrent test data generation motivates building statistical models that can then help to more quickly achieve feature diversity.

研究の動機と目的

  • 多様性が一般的にではなく、定義された入力特徴内に焦点を当てた、特徴別テストデータ多様性に関する研究の不足に応えること。
  • 入力サイズや文字構成などのユーザー定義特徴に応じて多様性を持つテストデータを生成するための、複数の探索ベース手法を同定・評価すること。
  • 勾配上昇法、ランダムサンプリング、メタヒューリスティクス(例:NMCS)などの異なる探索戦略が、定義された特徴空間をどの程度効率的かつ包括的に探索できるかを比較すること。
  • ガウス過程などの統計モデルが、回帰テストのような繰り返しテストのシナリオにおいて、将来のテストデータ生成をどのように高速化できるかを調査すること。
  • テストの目的、特徴空間の特性、効率のトレードオフに基づいて適切な探索アルゴリズムを選択するためのフレームワークを提供すること。

提案手法

  • 多変数特徴空間内の特定領域において、多様性があり完全なテスト入力を生成する問題として、特徴別テスト多様性(FSTD)を定式化すること。
  • ランダムサンプリング、勾配上昇法、適応的ランダムテスト、メタヒューリスティクス探索(例:NMCS)を含む10種類の異なる探索およびサンプリング戦略を実装し、特徴空間を探索すること。
  • 数値データおよび構造化データ(例:文字列)を生成可能なテストデータ生成フレームワークを用い、特徴を測定可能な属性(例:長さ、数字の個数)として抽出すること。
  • 時間単位あたりのカバレッジ(カバレッジ/時間)という指標に基づき、ターゲット特徴空間のカバレッジと効率性を評価し、2次元特徴空間をテストベッドとして使用すること。
  • 特徴空間からパrameter空間へのマッピングをモデル化する統計モデリング(例:ガウス過程)を統合し、繰り返しテストにおいてより速く、インフォームドなテストデータ生成を可能にすること。
  • NMCSにおける確率的モデルの細分化の影響を評価し、より大規模で詳細なモデルが、すべての手法において探索性能を向上させることを発見した。

実験結果

リサーチクエスチョン

  • RQ1特徴別テストデータ生成タスクにおいて、時間ステップ数を最小限に抑えながら、ターゲット特徴空間を最大限にカバーする探索戦略は何か?
  • RQ2勾配上昇法、ランダムサンプリング、メタヒューリスティクスの各アプローチの多様性カバレッジと効率性の性能特性は、どのように比較できるか?
  • RQ3入力空間の統計モデル(例:ガウス過程)は、繰り返しテストのテストデータ生成の効率をどの程度向上できるか?
  • RQ4確率的モデルの細分化の選択が、特にNMCSにおいて探索ベースのテストデータ生成の性能に与える影響は何か?
  • RQ5特徴別テスト多様性のための探索アルゴリズムを選択する際の、バイアス、効率性、耐障害性のトレードオフは何か?

主な発見

  • 勾配上昇法が、ターゲット特徴空間のカバレッジが最も高く、時間ステップあたりの効率性も最も優れており、他の探索ベース手法を上回った。
  • ランダムサンプリングは予想に反して優れた性能を示し、バイアスが少なく、特に大規模な確率的モデルと組み合わせると、競争力のあるカバレッジを達成した。
  • 確率的モデルの選択が性能に顕著な影響を与えた。より大規模で詳細なモデルは、NMCSを含むすべての探索アルゴリズムの効率性を向上させた。
  • ランダムサンプリングと高度な探索手法(例:NMCS)を組み合わせたハイブリッドアプローチは、探索空間内の局所的制約を脱出する点で強く有望な兆候を示した。
  • 単一のアルゴリズムが常に優れているとは限らず、最適な選択はテストの文脈、特徴空間の構造、バイアスと効率性のバランスに依存する。
  • 繰り返しテストにおけるテストデータ生成は、特徴値からパrameter空間へのマッピングをモデル化する統計モデル(例:ガウス過程)によって恩恵を受ける。これにより、回帰テストにおいてより速く、的を射た多様性が実現できる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。