Open Access Open Access  Restricted Access Subscription or Fee Access

Cost and Coverage based Test Case Prioritization

L. Shanmugapriya, A. Malini, A. Askarunisa

Abstract


Test case prioritization techniques schedule test cases for execution in an order that attempts to maximize some objective function. A variety of objective functions are applicable; one such function involves rate of fault detection — a measure of how quickly faults are detected within the testing process. An improved rate of fault detection during regression testing can provide faster feedback on a system under regression test and let debuggers begin their work earlier than might otherwise be possible. In this paper, we describe several techniques for prioritizing test cases and report our results measuring the effectiveness of these techniques for improving rate of fault detection. We have computed two different categories of metrices viz.fault criterion based and coverage criterion based. Metrices like, the average rate of fault detection(APFD ),Average rate of fault detection with cost(APFDc), come under the first category while Average Percentage of Statement Coverage (APSC), Average Percentage of Branch Coverage (APBC), Average Percentage of Loop Coverage (APLC) and Average Percentage of Condition Coverage (APCC) come under the second category. Test cases were executed using JUnit tool. Code cover tool is used to find code coverage information. Test case prioritization is performed based on coverage and cost information. The results provide insights into the tradeoffs among various techniques for test case prioritization.

Keywords


Regression Testing, Code Coverage, Test Case Prioritization, Mutation Faults, Average Percentage of Fault Detection (APFD).

Full Text:

PDF

References


S. Elbaum, A. Malishevsky, and G. Rothermel, “Prioritizing Test Cases for Regression Testing,” Proc. Int’l Symp. Software Testingand Analysis, pp. 102-112, Aug. 2000.

S. Elbaum, A. Malishevsky, and G. Rothermel, “IncorporatingVarying Test Costs and Fault Severities into Test Case Prioritization,”Proc. Int’l Conf. Software Eng., pp. 329-338, May 2001.

S. Elbaum, A.G. Malishevsky, and G. Rothermel, “Test CasePrioritization: A Family of Empirical Studies,” IEEE Trans.Software Eng., vol. 28, no. 2, pp. 159-182, Feb. 2002.

J. Kim and A. Porter, “A History-Based Test Prioritization Technique for Regression Testing in Resource ConstrainedEnvironments,” Proc. Int’l Conf. Software Eng., pp. 119-129, May2002.

K. Onoma, W-T. Tsai, M. Poonawala, and H. Suganuma,“Regression Testing in an Industrial Environment,” Comm.ACM, vol. 41, no. 5, pp. 81-86, May 1988.

G. Rothermel, R. Untch, C. Chu, and M.J. Harrold, “PrioritizingTest Cases for Regression Testing,” IEEE Trans. Software Eng.,vol. 27, no. 10, pp. 929-948, Oct. 2001.

W.E. Wong, J.R. Horgan, S. London, and H. Agrawal, “A Study ofEffective Regression Testing in Practice,” Proc. Int’l Symp. SoftwareReliability Eng., pp. 230-238, Nov. 1997.

J.-M. Kim, A. Porter, and G. Rothermel, “An Empirical Study ofRegression Test Application Frequency,” Proc. Int’l Conf. SoftwareEng., pp. 126-135, June 2000.

H. Do, G. Rothermel, ”On the use of Mutation faults in Empirical Assessments of Test case prioritization Techniques”, IEEE Trans. Software Eng., vol. 32, no. 9, Sept. 2006

Alexey G. Malishevsky_ Joseph R. Ruthru_y Gregg Rothermely Sebastian Elbaumy, “Cost-cognizant Test Case Prioritization”, Technical Report TR-UNL-CSE-2006-0004, Department of Computer Science and Engineering, University of Nebraska{Lincoln, Lincoln, Nebraska, U.S.A., 12 March 2006

Zheng Li,Mark Harman,and Robert M.Hierons,”Search Algorithms for Regression Test Case Prioritization”, IEEE Trans. Software Eng.,vol. 33, no. 4, pp. 225-237, Apr. 2007.

D. Binkley.” Semantics guided regression test cost reduction”. IEEE Transactions on Software Engineering,23(8):498-516, August 1997.

Hyunsook Do, Gregg Rothermel, Alex Kinneer,”Empirical Studies of Test Case Prioritization in a JUnit Testing Environment”, Proceedings of the 15th International Symposium on Software Reliability Engineering (ISSRE’04)1071-9458,2004 IEEE

www.codecover.org

www.junit.org

www.mujava.org


Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.