Skip to main content
QUICK REVIEW

[論文レビュー] A Genetic Algorithm based Approach for Test Data Generation in Basis Path Testing

Yeresime Suresh, Santanu Kumar Rath|arXiv (Cornell University)|Jan 21, 2014
Software Testing and Debugging Techniques参考文献 14被引用数 28
ひとこと要約

本稿では、遺伝的アルゴリズム(GA)を用いたアプローチを提案し、基本パステストのためのテストデータ生成を自動化する。GAのグローバル最適化機能を活用して、複雑な述語条件を効率的に探索する。フィットネス駆動の進化を用いて、すべての基本パスを満たす最適なテストケースを生成し、人的作業を削減するとともに、重複するテストデータを排除する。ATM出金ユースケースを用いた検証では、有効なテスト入力を収束的に得ることに成功した。

ABSTRACT

Software Testing is a process to identify the quality and reliability of software, which can be achieved through the help of proper test data. However, doing this manually is a difficult task due to the presence of number of predicate nodes in the module. So, this leads towards a problem of NP-complete. Therefore some intelligence-based search algorithms have to be used to generate test data. In this paper, we use a soft computing based approach, genetic algorithm to generate test data based on the set of basis paths. This paper combines the characteristics of genetic algorithm with test data, making use of the merits of respective global and local optimization capability to improve the generation capacity of test data. This automated process of generating test data optimally helps in reducing the test effort and time of a tester. Finally, the proposed approach is applied for ATM withdrawal task. Experimental results show that genetic algorithm was able to generate suitable test data based on a fitness value and avoid redundant data by optimization.

研究の動機と目的

  • 複雑な述語論理を有するソフトウェアモジュールの最適なテストデータ生成というNP完全問題に取り組む。
  • ソフトコンピューティング技術を用いてテストデータ生成を自動化することで、人的テスト作業と時間を削減する。
  • 制御フローグラフから導出されたすべての基本パスを満たすテストデータを生成することにより、テストカバレッジと効率性を向上させる。
  • 遺伝的アルゴリズムフレームワーク内でのフィットネスベース選択と進化的最適化により、重複するテストケースを最小限に抑える。

提案手法

  • アプローチは、ソースコードから制御フローグラフ(CFG)を構築し、すべての基本パスを特定することから始める。
  • 各基本パスは、遺伝的アルゴリズムにおける染色体として表現され、テストデータは遺伝子シーケンスとして符号化される。
  • フィットネス関数が、テストケースがパスの述語条件をどの程度満たしているかを評価し、進化的選択を導く。
  • クロスオーバーや変異演算子を適用して、新しいテストデータ候補を生成し、世代を重ねてフィットネスを向上させる。
  • アルゴリズムは、フィットネスの閾値に達するまでテストデータを進化させ、その時点で有効なテストケースとみなす。
  • すべての基本パスに対してこのプロセスを繰り返し、完全で最適化されたテストセットを生成する。

実験結果

リサーチクエスチョン

  • RQ1遺伝的アルゴリズムは、ソフトウェアモジュールのすべての基本パスを満たすテストデータを効果的に生成できるか?
  • RQ2フィットネス関数は、生成されたテストケースの収束性と品質にどのように影響を与えるか?
  • RQ3手動または全探索的手法と比較して、GAアプローチはどの程度重複するテストデータを削減できるか?
  • RQ4従来のテストデータ生成手法と比較して、本手法の効率性とカバレッジはどの程度か?

主な発見

  • 遺伝的アルゴリズムは、ATM出金ユースケースにおいて、すべての基本パスに対して有効なテストデータを正常に生成し、実現可能性を示した。
  • フィットネスベースの評価が、有効なテストケースへの探索を的確に導き、冗長なデータ生成を最小限に抑えた。
  • 生成プロセスの自動化により、人的なテスト設計作業が顕著に削減された。
  • 妥当な世代数のうちに、最適または近似最適なテストケースに収束したため、スケーラビリティが示された。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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