Skip to main content
QUICK REVIEW

[論文レビュー] Test Case Generation using Mutation Operators and Fault Classification

R. Jeevarathinam, Antony Selvadoss Thanamani|arXiv (Cornell University)|Feb 10, 2010
Software Testing and Debugging Techniques参考文献 21被引用数 4
ひとこと要約

本論文では、コード作成後のプログラム実行トレースから自動的にテストケースを生成するための変異テストベースのアプローチを提案する。変異オペレータと故障分類を用いることで、テストの十分性を向上させる。本手法は、故障を起こしやすいコード領域を特定し、標的となるテストケースを生成することで、テストケースの質を向上させる。故障検出における測定可能な向上が確認された事例研究を通じて、その有効性が示された。

ABSTRACT

Software testing is the important phase of software development process. But, this phase can be easily missed by software developers because of their limited time to complete the project. Since, software developers finish their software nearer to the delivery time; they dont get enough time to test their program by creating effective test cases. . One of the major difficulties in software testing is the generation of test cases that satisfy the given adequacy criterion Moreover, creating manual test cases is a tedious work for software developers in the final rush hours. A new approach which generates test cases can help the software developers to create test cases from software specifications in early stage of software development (before coding) and as well as from program execution traces from after software development (after coding). Heuristic techniques can be applied for creating quality test cases. Mutation testing is a technique for testing software units that has great potential for improving the quality of testing, and to assure the high reliability of software. In this paper, a mutation testing based test cases generation technique has been proposed to generate test cases from program execution trace, so that the test cases can be generated after coding. The paper details about the mutation testing implementation to generate test cases. The proposed algorithm has been demonstrated for an example.

研究の動機と目的

  • ソフトウェア開発における時間制約のあるテストケース作成の課題に対処するため、テストケース生成を自動化すること。
  • 変異オペレータと故障分類技術を活用して、テストケースの質を向上させること。
  • コード作成後に実行トレースからテストケースを生成可能にする。時間的制約がある状況下での後段階テストを支援すること。
  • テストケース設計における人的作業を削減しながら、故障検出の効果を高めること。
  • 初期設計段階およびコード作成後段階の両方で適用可能なヒューリスティックベースの手法を提供すること。

提案手法

  • 本アプローチは、変異オペレータを用いてソースコードの変異バージョンを生成し、潜在的な故障をシミュレートする。
  • オリジナルプログラムの実行トレースを分析して、コードパスや制御フローパattersを特定する。
  • 故障分類を適用し、変異の種別と深刻度に基づいて分類することで、テストケースの優先順位付けを支援する。
  • ヒューリスティックアルゴリズムにより、実行トレースを高リスクの変異カテゴリにマッピングする。
  • 変異を殺す可能性を最大化するテストケースを生成することで、テストの十分性を向上させる。
  • アルゴリズムは実世界の事例で検証され、その実現可能性と有効性が示された。

実験結果

リサーチクエスチョン

  • RQ1コード完成後の実行トレースから変異テストをどのように応用してテストケースを生成できるか?
  • RQ2テストケース生成を支援するために、どの変異オペレータと故障分類が最も効果的か?
  • RQ3提案手法は、時間的制約のある開発サイクルにおいて人的作業を削減しながら故障検出効果を高められるか?
  • RQ4実行トレースと変異解析を統合することで、テストケースの質はどのように向上するか?
  • RQ5故障分類の導入が、生成されたテストケースの有効性に与える影響は何か?

主な発見

  • 提案手法は、コード作成後の実行トレースからテストケースを効果的に生成でき、人的なテスト設計への依存を低減した。
  • 故障分類により、高インパクトな故障カテゴリに向けたテストケースの優先順位付けが可能となり、テストの効率が向上した。
  • 変異オペレータの活用により、ソフトウェア内に潜む潜在的故障の検出確率が向上した。
  • 事例研究では、生成されたテストケースが多数の変異を殺すことができたことが確認され、テストの十分性が向上したことが示された。
  • 本アプローチは、特に時間的圧力がかかる状況下でも、後段階のソフトウェアテストに実用的かつ実現可能に統合可能である。
  • ヒューリスティックベースの生成プロセスにより、開発のオーバーヘッドを低減しながら、テストカバレッジを維持または向上させることができた。

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

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

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

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