Advertisement

The Cuckoo Search and Integer Linear Programming Based Approach to Time-Aware Test Case Prioritization Considering Execution Environment

  • Yu Wong
  • Hongwei Zeng
  • Huaikou Miao
  • Honghao Gao
  • Xiaoxian YangEmail author
Conference paper
Part of the Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering book series (LNICST, volume 268)

Abstract

Regression testing plays an important role in software development process. The more mature software system development is, the greater the proportion of regression testing during software life cycle takes. To this point, test case prioritization techniques are proposed to detect more faults as early as possible and improve the effectiveness of regression testing. However, it is often performed in a time constrained execution environment. This paper introduces a new method of time-aware test case prioritization. First of all, it takes advantage of the cuckoo search algorithm to reorder test suite. Then, integer linear programming model is employed to test selection in light of time budget. At last, a novel fitness function is designed focusing on code coverage that from method-call information perspective. Experimental results show that our method improves the effectiveness of fault detection compared with traditional fault detection techniques especially time is constrained.

Keywords

Test case prioritization Time-aware Cuckoo search 

Notes

Acknowledge

This work is supported by the National Natural Science Foundation of China under grant No. 61572306 and No. 61502294, the CERNET Innovation Project under Grant No. NGII20170513, and the Youth Foundation of Shanghai Polytechnic University under Grant No. EGD18XQD01.

References

  1. 1.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Trans. Softw. Eng. 28(2), 159–182 (2002)CrossRefGoogle Scholar
  2. 2.
    Li, Z., Harman, M., Hierons, R.M.: Search algorithms for regression test case prioritization. Acta Paediatrica 33(4), 225–237 (2007)CrossRefGoogle Scholar
  3. 3.
    Walcott, K.R., Soffa, M.L., Kapfhammer, G.M.: Time aware test suite prioritization. In: ACM/SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2006, Portland, Maine, USA, July, DBLP, pp. 1–12 (2006)Google Scholar
  4. 4.
    Yang, X.S., Deb, S.: Cuckoo search via levey flights. In: World Congress on Nature & Biologically Inspired Computing, pp. 210–214. IEEE Xplore (2010)Google Scholar
  5. 5.
    Yang, X.S., Deb, S.: Multi-objective cuckoo search for design optimization. Comput. Oper. Res. 40(6), 1616–1624 (2013)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Nagar, R., Kumar, A., Singh, G.P.: Test case selection and prioritization using cuckoos search algorithm. In: International Conference on Futuristic Trends on Computational Analysis and Knowledge Management, pp. 283–288. IEEE (2015)Google Scholar
  7. 7.
    Srivastava, P.R., Reddy, D.V.P.K., Reddy, M.S.: Test case prioritization using cuckoo search. Adv. Autom. Softw. Test. Framew. Refin. Pract. 28(2), 159–182 (2012)Google Scholar
  8. 8.
    Rothermel, G., Untch, R.H., Chu, C.: Prioritizing test cases for regression testing. IEEE Trans. Softw. Eng. 27(10), 929–948 (2001)CrossRefGoogle Scholar
  9. 9.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Prioritizing test cases for regression testing. In: ACM (2000)Google Scholar
  10. 10.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Incorporating varying test costs and fault severities into test case prioritization. In: ICSE, pp. 329–338. IEEE Computer Society (2001)Google Scholar
  11. 11.
    Islam, M.M., Marchetto, A., Susi, A.: A multi objective technique to prioritize test cases based on latent semantic indexing. In: Proceedings 16th European Conference Software Maintenance and Reengineering, pp. 21–30 (2012)Google Scholar
  12. 12.
    Saini, A., Tyagi, S.: MTCPA: multi-objective test case prioritization algorithm using genetic algorithm. In: International Journal of Advanced Research in Computer Science and Software Engineering (2015)Google Scholar
  13. 13.
    Schultz, M., Radloff, M.: Test case prioritization using multi objective particle swarm optimizer. In: International Conference on Signal Propagation and Computer Technology, pp. 390–395. IEEE (2014)Google Scholar
  14. 14.
    Alves, E.L., Machado, P.D., Massoni, T., Kim, M.: Prioritizing test cases for early detection of refactoring faults. Softw. Test. Verif. Reliab. 26, 402–426 (2016)CrossRefGoogle Scholar
  15. 15.
    Eghbali, S., Tahvildari, L.: Test case prioritization using lexicographical ordering. IEEE Trans. Softw. Eng. 42(12), 1178–1195 (2016)CrossRefGoogle Scholar
  16. 16.
    Lachmann, R., Schulze, S., Nieke, M.: System-level test case prioritization using machine learning. In: IEEE International Conference on Machine Learning and Applications, pp. 361–368. IEEE (2017)Google Scholar
  17. 17.
    Kim, J., Jeong, H., Lee, E.: Failure history data-based test case prioritization for effective regression test. In: Symposium on Applied Computing, pp. 1409–1415. ACM (2017)Google Scholar
  18. 18.
    Zhang, L., Hou, S.S., Guo, C.: Time-aware test-case prioritization using integer linear programming. In: Eighteenth International Symposium on Software Testing and Analysis, ISSTA 2009, Chicago, IL, USA, pp. 213–224 (2009)Google Scholar
  19. 19.
    Time.pl:a tool to collect timings. http://sir.unl.edu/content/tools.php
  20. 20.
    Do, H., Elbaum, S., Rothermel, G.: Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact. Empir. Softw. Eng. 10, 405–435 (2005)CrossRefGoogle Scholar
  21. 21.
    Roubtsov, V.: EMMA: a free Java code coverage tool. http://emma.sourceforge.net/

Copyright information

© ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2019

Authors and Affiliations

  • Yu Wong
    • 1
    • 2
  • Hongwei Zeng
    • 1
  • Huaikou Miao
    • 1
    • 2
  • Honghao Gao
    • 1
    • 3
  • Xiaoxian Yang
    • 4
    Email author
  1. 1.School of Computer Engineering and ScienceShanghai UniversityShanghaiChina
  2. 2.Shanghai Key Laboratory of Computer Software Evaluating and TestingShanghaiChina
  3. 3.Computing CenterShanghai UniversityShanghaiChina
  4. 4.School of Computer and Information EngineeringShanghai Polytechnic UniversityShanghaiChina

Personalised recommendations