[Updated on Apr. 18] Integration of CiNii Articles into CiNii Research

確率密度関数を用いたソフトウェアテスティングのためのテストケース優先順位付け戦略

IPSJ Open Access

Bibliographic Information

Other Title
  • A Strategy of Test Case Prioritization for Software Testing Using Probability Density Function

Search this article

Abstract

ソフトウェアテスティングは,システムを実行することで意図したとおりに動作するかどうかを検証する手法である.ソフトウェアテスティングにおいては欠陥をいかに早く発見するかが重要であり,そのために研究が進められている分野の1つがテストケース優先順位付け(TCP)である.カバレッジベースのTCPでは,それぞれのテストがコードのどの部分を網羅したかを表すカバレッジ情報を用いて優先順位付けを行うが,既存の優先順位付け戦略では対象によって最適な戦略やパラメータが異なるという問題がある.本稿では,TCPにおける新しい戦略アルゴリズムとして,実行した際に新たに検出される欠陥の個数の期待値が最も高くなるテストを順に選んでいくような優先順位付け戦略を提案する.欠陥の期待値はあるユニットを実行した際にある欠陥が検出される確率の分布を表す確率密度関数を用いて計算できるため,この確率密度関数をカバレッジ情報から推定し,その分布がベータ分布に従うという仮定の下で欠陥の期待値を計算した.提案した戦略と既存の戦略について,40個のC言語のプログラムと28個のJavaのプログラムに対してそれぞれ実験を行い,t検定により比較を行った.実験の結果,statementカバレッジを用いた場合,提案した戦略によってTCPの性能が有意に向上する結果が得られた.

Software testing is a method of validating that a software system operates as intended by actually running it. In software testing, it is important how quickly to find defects, and therefore one of the areas under study is test case prioritization (TCP). Coverage-based TCP prioritizes by using coverage information that indicates which part of the code each test covers. However in existing prioritization strategy the optimal strategy and parameters depend on targets. In this paper, we propose a new strategy in TCP, which gives priority to tests with high anticipated value of the number of detection of newly found defects. Assuming the expectation value of the defect can be calculated using the probability density function representing the distribution of the probability that a certain defect is detected when executing a certain unit, we have estimated this probability density function from the coverage information and calculate the expected value of the defect under the assumption that its distribution follows the beta distribution. For the proposed strategy and existing strategy, we have conducted experiments on 40 C programs and 28 Java programs, and compared them. As a result of the experiment, TCP performance is improved in significant difference by t-test by the proposed strategy when using statement coverage.

Journal

Related Projects

See more

Details

Report a problem

Back to top