Open Access Open Access  Restricted Access Subscription or Fee Access

Priority-Based Test Case Generation for Multiobject

S Kavitha, P Rajasekaran

Abstract


While performing regression testing, an appropriate choice for test case ordering allows the tester to early discover faults in source code. To this end, test case prioritization techniques can be used. Several existing test case prioritization techniques leave out the execution cost of test cases and exploit a single objective function (e.g., code or requirements coverage). In this paper, we present a multiobjective test case prioritization technique that determines the ordering of test cases that maximize the number of discovered faults that are both technical and business critical. In other words, our new technique aims at both early discovering faults and reducing the execution cost of test cases. To this end, we automatically recover links among software artifacts (i.e., requirements specifications, test cases, and source code) and apply a metric-based approach to automatically identify critical and fault-prone portions of software artifacts, thus becoming able to importance during test case prioritization. We experimentally evaluated our technique on 21 Java applications. The obtained results support our hypotheses on efficiency and effectiveness of our new technique and on the use of automatic artifacts analysis and weighting in test case prioritization.

Full Text:

PDF

References


S. Yoo, M. Harman. Regression testing minimization, selection and prioritization: a survey, Software Test Verificat Reliab. 2010; 22(2): 67–120p.

J. Karlsson, K. Ryan. A cost-value approach for prioritizing requirements, IEEE Software. 1997; 14: 67–74p.

S. Mohanty, A. Acharya, D. Mohapatra. A survey on model based test case prioritization, Int J Comput Sci Inform Technol. 2011; 2(3): 1002–40p.

M. Islam, A. Marchetto, A. Susi, G. Scanniello. A multi-objective technique to prioritize test cases based on latent semantic indexing, In: Proc. of European Conference on Software Maintenance and Reengineering IEEE Computer Society. 2012, 21–30p.

S.C. Deerwester, S.T. Dumais, T.K. Landauer, G.W. Furnas, R.A. Harshman, Indexing by latent semantic analysis, J Am Soc Inform Sci. 1990; 41(6): 391–407p.

A. Marcus, J.I. Maletic. Recovering documentation-to-sourcecode traceability links using latent semantic indexing, In: Proc. Of International Conference on Software Engineering. IEEE Computer Society. 2003, 125–37p.

A. De Lucia, M. Di Penta, R. Oliveto. Improving source code lexicon via traceability and information retrieval, IEEE Trans Software Eng. 2011; 37(2): 205–27p.

Z. Li, M. Harman, R. Hierons. Search algorithms for regression test case prioritization, IEEE Trans Software Eng. 2007; 33 (4): 225–37p.

M. Salehie, S. Li, L. Tahvildari, R. Dara, S. Li, M. Moore. Prioritizing requirements-based regression test cases: A goal-driven practice, In: Proc of European Conference on Software Maintenance and Reengineering IEEE Computer Society. 2011, 329–32p.

K.R. Walcott, M.L. Soffa, G.M. Kapfhammer, R.S. Roos. Timeaware test suite prioritization, In: Proc. of International Symposium on Software Testing and Analysis. ACM. 2006, 1–12p.

S. Yoo, M. Harman. Using hybrid algorithm for pareto efficient multi-objective test suite minimisation, J Syst Software. 2009; 689–701p. 0098-5589 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

V.R. Basili, R.W. Selby. Comparing the effectiveness of software testing strategies, IEEE Trans Software Eng. 1987; 13: 1278–96p.

S. Elbaum, A.G. Malishevsky, G. Rothermel. Test case prioritization: a family of empirical studies, IEEE Trans Software Eng. 2002; 28: 159–82p.

G. Rothermel, R. Untch, C. Chu, M. Harrold. Test case prioritization: an empirical study, In: Proc. of International Conference on Software Maintenance. IEEE Computer Society. 1999; 179–88p.

D. Marijan, A. Gotlieb, S. Sen. Test case prioritization for continuous regression testing: an industrial case study, In: Proc. of International Conference on Software Maintenance. IEEE Computer Society. 2013; 540–3p.

D. Di Nardo, N. Alshahwan, L. Briand, Y. Labiche. Coverage-based test case prioritisation: an industrial case study, In: Proc of International Conference on Software Testing, Verification and Validation. IEEE Computer Society. 2013; 302–11p.

L. Zhang, D. Hao, L. Zhang, G. Rothermel, H. Mei. Bridging the gap between the total and additional test-case prioritization strategies, In: Proc of International Conference on Software Engineering IEEE Computer Society. 2013, 192–201p.

S. Yoo, M. Harman. Pareto efficient multi-objective test case selection, In: Proc. of International Symposium on Software testing and Analysis. ACM. 2007, 140–50p.

W. Sun, Z. Gao, W. Yang, C. Fang, Z. Chen. Multi-objective test case prioritization for gui applications, In: Proc. of ACM Symposium on Applied Computing ACM. 2013, 1074–9p.

A.M. Memon, M.L. Soffa, M.E. Pollack. Coverage criteria for gui testing, SIGSOFT Softw. Eng. Notes. 2001; 26(5): 256–67p.

R. Kavitha, V. Kavitha, N. Kumar. Requirement based test case prioritization, In: Proc. of International Conference on Communication Control and Computing Technologies. 2010, 826–9p.

M. Arafeen, H. Do. Test case prioritization using requirementsbased clustering, In: Proc. of International Conference on Software Testing, Verification and Validation. 2013, 312–21p.

C. Nguyen, A. Marchetto, P. Tonella. Test case prioritization for audit testing of evolving web services using information retrieval techniques, In: Proc of International Conference on Web Services. IEEE Computer Society. 2011, 636–43p.

C. Fang, Z. Chen, K. Wu, Z. Zhao. Similarity-based test case prioritization using ordered sequences of program entities, Software Qual J. 2014; 22(2): 335–61p.

OMG, “Unified modeling language (OMG UML) specification, version 2.3,” Object Management Group, Tech. Rep. May 2010.




DOI: https://doi.org/10.37628/ijocspl.v3i1.263

Refbacks

  • There are currently no refbacks.