Abstract
Dynamic random testing (DRT) strategy uses the testing results collected online to guide the selection of test cases, which can improve the fault detection effectiveness over random testing (RT) and random partition testing (RPT). The efficiency of current DRT is mainly concerned with traditional testing environment, i.e., the test cases are executed sequentially. The emergence of cloud testing provides the parallel testing environment to execute concurrent test cases simultaneously. If DRT strategy can be organically integrated into cloud environment, then the testing efficiency can be improved and the advantage of DRT can be maintained. However, how to select test cases in a parallel environment is a problem worth of exploration, and the resource allocation process should also be considered. Therefore, in this paper, we propose a dynamic random testing strategy in the context of cloud computing (DRT-C), which inherits the principle of DRT and adapts it into the cloud environment. In DRT-C, the test cases are selected and executed in parallel, and the testing profile is adjusted on the basis of concurrent testing results. Meanwhile, the testing cost, including time and resource costs, is optimized by a test case allocation method. The proposed strategy is evaluated by using 6 real-world software programs and 3 simulated software programs. The experimental results demonstrate that DRT-C significantly outperforms round robin schedule (RRS) and RPT-FIFO (first in first out) in terms of fault detection effectiveness, and is slightly better than DRT-FIFO. Besides, DRT-C outperforms other testing strategies in terms of testing costs.
Similar content being viewed by others
Data availability
All data included in this study are available upon reasonable request by contact with the corresponding author.
References
Arcuri, A., & Briand, L. (2011). Formal analysis of the probability of interaction fault detection using random testing. IEEE Transactions on Software Engineering, 38(5), 1088–1099. https://doi.org/10.1109/tse.2011.85
Arcuri, A., Iqbal, M. Z., & Briand, L. (2011). Random testing: Theoretical results and practical implications. IEEE Transactions on Software Engineering, 38(2), 258–277.
Arcuri, A., & Bri, L. (2014). A Hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing Verification and Reliability, 24(3), 219–250. https://doi.org/10.1002/stvr.1486
Bertolino, A., Miranda, B., Pietrantuono, R., & Russo, S. (2021). Adaptive test case allocation, selection and generation using coverage spectrum and operational profile. IEEE Transactions on Software Engineering, 47(5), 881–898. https://doi.org/10.1109/TSE.2019.2906187
Boland, P. J., Singh, H., & Cukic, B. (2003). Comparing partition and random testing via majorization and Schur functions. IEEE Transactions on Software Engineering, 29(1), 88–94. https://doi.org/10.1109/TSE.2003.1166591
Cai, K. Y. (2002). Optimal software testing and adaptive software testing in the context of software cybernetics. Information and Software Technology, 44(14), 841–855. https://doi.org/10.1016/s0950-5849(02)00108-8
Cai, K. Y., Jing, T., & Bai, C. G. (2005). Partition testing with dynamic partitioning. In 29th Annual International Computer Software and Applications Conference (COMPSAC'05) (Vol. 2, pp. 113-116). IEEE. https://doi.org/10.1109/COMPSAC.2005.118
Cai, K. Y., Gu, B., Hu, H., & Li, Y. C. (2007). Adaptive software testing with fixed-memory feedback. Journal of Systems and Software, 80(8), 1328–1348. https://doi.org/10.1016/j.jss.2006.11.008
Cai, K. Y., Hu, H., Jiang, C. H., & Ye, F. (2009). Random testing with dynamically updated test profile. In Proceedings of the 20th International Symposium On Software Reliability Engineering (ISSRE 2009) (pp. 1-2).
Cañizares, P. C., Núñez, A., de Lara, J., & Llana, L. (2020). MT-EA4Cloud: A methodology for testing and optimising energy-aware cloud systems. Journal of Systems and Software, 163, 110522.
Calheiros, R. N., Ranjan, R., Beloglazov, A., De Rose, C. A., & Buyya, R. (2011). CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Software: Practice and experience, 41(1), 23-50.
Chen, T. Y., & Yu, Y. T. (1994). On the relationship between partition and random testing. IEEE Transactions on Software Engineering, 20(12), 977–980. https://doi.org/10.1109/32.368132
Chen, T. Y., & Yu, Y. T. (1996). On the expected number of failures detected by subdomain testing and random testing. IEEE Transactions on Software Engineering, 22(2), 109–119. https://doi.org/10.1109/32.485221
Chen, T. Y., Tse, T. H., & Yu, Y. T. (2001). Proportional sampling strategy: A compendium and some insights. Journal of Systems and Software, 58(1), 65–81. https://doi.org/10.1016/S0164-1212(01)00028-0
Chen, T. Y., & Merkel, R. (2006). Efficient and effective random testing using the Voronoi diagram. In Australian Software Engineering Conference (ASWEC'06) (pp. 6-pp). IEEE.
Chen, T. Y., & Merkel, R. (2007). Quasi-random testing. IEEE Transactions on Reliability, 56(3), 562–568. https://doi.org/10.1109/TC.2015.2455981
Chen, J., Zhu, L., Chen, T. Y., Towey, D., Kuo, F. C., Huang, R., & Guo, Y. (2018). Test case prioritization for object-oriented software: An adaptive random sequence approach based on clustering. Journal of Systems and Software, 135, 107–125. https://doi.org/10.1016/j.jss.2017.09.031
Chen, M., Challita, U., Saad, W., Yin, C., & Debbah, M. (2019). Artificial neural networks-based machine learning for wireless networks: A tutorial. IEEE Communications Surveys & Tutorials, 21(4), 3039–3071. https://doi.org/10.1109/COMST.2019.2926625
Chan, F. T., Chen, T. Y., Mak, I. K., & Yu, Y. T. (1996). Proportional sampling strategy: Guidelines for software testing practitioners. Information and Software Technology, 38(12), 775–782. https://doi.org/10.1016/0950-5849(96)01103-2
Chang, V., Kuo, Y. H., & Ramachandran, M. (2016). Cloud computing adoption framework: A security framework for business clouds. Future Generation Computer Systems, 57, 24–41.
Chang, X., Xia, R., Muppala, J. K., Trivedi, K. S., & Liu, J. (2018). Effective modeling approach for IaaS data center performance analysis under heterogeneous workload. IEEE Transactions on Cloud Computing, 6(4), 991–1003. https://doi.org/10.1109/TCC.2016.2560158
Chow, C., Chen, T. Y., & Tse, T. H. (2013). The ART of divide and conquer: An innovative approach to improving the efficiency of adaptive random testing. In 2013 13th International Conference on Quality Software (pp. 268-275). IEEE. https://doi.org/10.1109/QSIC.2013.19
Gelenbe, E., & Fourneau, J. M. (2014). Random neural networks with multiple classes of signals. Neural Computation, 11(4), 953–963. https://doi.org/10.1162/089976699300016520
Gutjahr, W. J. (1999). Partition testing vs. random testing: The influence of uncertainty. IEEE Transactions on Software Engineering, 25(5), 661-674. https://doi.org/10.1109/32.815325
Hao, D., Zhang, L., Zhang, L., Rothermel, G., & Mei, H. (2014). A unified test case prioritization approach. ACM Transactions on Software Engineering and Methodology (TOSEM), 24(2), 1-31.
Hao, D., Zhang, L., Zang, L., Wang, Y., Wu, X., & Xie, T. (2016). To be optimal or not in test-case prioritization. IEEE Transactions on Software Engineering, 42(5), 490–505. https://doi.org/10.1109/TSE.2015.2496939
Hu, B., Cao, Z., & Zhou, M. (2022). Scheduling real-time parallel applications in cloud to minimize energy consumption. IEEE Transactions on Cloud Computing, 10(1), 662–674. https://doi.org/10.1109/TCC.2019.2956498
Huang, R., Liu, H., Xie, X., & Chen, J. (2015). Enhancing mirror adaptive random testing through dynamic partitioning. Information and Software Technology, 67, 13–29. https://doi.org/10.1016/j.infsof.2015.06.003
Hwang, K., Bai, X., Shi, Y., Li, M., Chen, W. G., & Wu, Y. (2015). Cloud performance modeling with benchmark evaluation of elastic scaling strategies. IEEE Transactions on Parallel and Distributed Systems, 27(1), 130–143.
Kazmi, R., Jawawi, D. N., Mohamad, R., & Ghani, I. (2017). Effective regression test case selection: A systematic literature review. ACM Computing Surveys (CSUR), 50(2), 29.
Kuo, F. C. (2009). An indepth study of mirror adaptive random testing. In 2009 Ninth International Conference on Quality Software (pp. 51-58). IEEE.
Kumar, R., Jain, K., Maharwal, H., Jain, N., & Dadhich, A. (2014). Apache cloudstack: Open source infrastructure as a service cloud computing platform. Proceedings of the International Journal of advancement in Engineering technology, Management and Applied Science, 111, 116.
Li, Y., Yin, B. B., Lv, J., & Cai, K. Y. (2015). Approach for test profile optimization in dynamic random testing. In 2015 IEEE 39th Annual Computer Software and Applications Conference (Vol. 3, pp. 466-471). IEEE. https://doi.org/10.1109/COMPSAC.2015.257
Lv, J., Hu, H., & Cai, K. Y. (2011). A sufficient condition for parameters estimation in dynamic random testing. In 2011 IEEE 35th Annual Computer Software and Applications Conference Workshops (pp. 19-24). IEEE. https://doi.org/10.1109/COMPSACW.2011.14
Lv, J., Hu, H., Cai, K. Y., & Chen, T. Y. (2014). Adaptive and random partition software testing. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 44(12), 1649–1664. https://doi.org/10.1109/TSMC.2014.2318019
Mei, H., Hao, D., Zhang, L., Zhang, L., Zhou, J., & Rothermel, G. (2012). A static approach to prioritizing JUnit test cases. IEEE Transactions on Software Engineering, 38(6), 1258–1275.
Ostrand, T. J., & Balcer, M. J. (1988). The category-partition method for specifying and generating functional tests. Communications of the ACM, 31(6), 676–686. https://doi.org/10.1145/62959.62964
Pandey, S., Wu, L., Guru, S. M., & Buyya, R. (2010). A particle swarm optimization-based heuristic for scheduling workflow applications in cloud computing environments. In 2010 24th IEEE International Conference on Advanced Information Networking and Applications (pp. 400-407). IEEE.
Pei, H., Yin, B., & Xie, M. (2018). Dynamic random testing strategy for test case optimization in cloud environment. IEEE international symposium on software reliability engineering workshops (ISSRE). Memphis, TN, USA, 2018, 148–149.
Pei, H. Y., Cai, K. Y., Yin, B. B., Mathur, A. P., & Xie, M. (2019). Dynamic random testing: Technique and experimental evaluation. IEEE Transactions on Reliability, 68(3), 872–892. https://doi.org/10.1109/TR.2019.2911593
Pei, H. Y., Yin, B. B., Xie, M., & Cai, K. Y. (2021). Dynamic random testing with test case clustering and distance-based parameter adjustment. Information and Software Technology, 131(12), 106470. https://doi.org/10.1016/j.infsof.2020.106470
Pahl, C., Brogi, A., Soldani, J., & Jamshidi, P. (2019). Cloud container technologies: A state-of-the-art review. IEEE Transactions on Cloud Computing, 7(3), 677–692. https://doi.org/10.1109/TCC.2017.2702586
Rasmussen, R. V., & Trick, M. A. (2008). Round robin scheduling–A survey. European Journal of Operational Research, 188(3), 617–636. https://doi.org/10.1016/j.ejor.2007.05.046
Song, C., Han, G., & Zeng, P. (2022). Cloud computing based demand response management using deep reinforcement learning. IEEE Transactions on Cloud Computing, 10(1), 72–81. https://doi.org/10.1109/TCC.2021.3117604
Sun, C., Dai, H., Liu, H., Chen, T. Y., & Cai, K. Y. (2019). Adaptive partition testing. IEEE Transactions on Computers, 68(2), 157–169. https://doi.org/10.1109/TC.2018.2866040
Tao, Y., Qiu, J., & Lai, S. (2022). A hybrid cloud and edge control strategy for demand responses using deep reinforcement learning and transfer learning,". IEEE Transactions on Cloud Computing, 10(1), 56–71. https://doi.org/10.1109/TCC.2021.3117580
Wang, L., & Gelenbe, E. (2018). Adaptive dispatching of tasks in the cloud. IEEE Transactions on Cloud Computing, 6(1), 33–45. https://doi.org/10.1109/TCC.2015.2474406
Wang, X., Han, Y., Leung, V. C., Niyato, D., Yan, X., & Chen, X. (2020). Convergence of edge computing and deep learning: A comprehensive survey. IEEE Communications Surveys and Tutorials, 22(2), 869–904. https://doi.org/10.1109/COMST.2020.2970550
Xiao, P., Yin, Y., Liu, B., Jiang, B., & Malaiya, Y. K. (2017). Adaptive testing based on moment estimation. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 50(3), 911–922. https://doi.org/10.1109/TSMC.2017.2761767
Yang, Z., Yin, B., Lv, J., Cai, K., Yau, S. S., & Yu, J. (2014). Dynamic random testing with parameter adjustment. In 2014 IEEE 38th International Computer Software and Applications Conference Workshops (pp. 37-42). IEEE. https://doi.org/10.1109/COMPSACW.2014.10
Yang, H. J., Feng, C., & Suleiman, A. (2017). Modern software cybernetics: New trends. Journal of Systems and Software, 124, 169–186. https://doi.org/10.1016/j.jss.2016.08.095
Yao, J., Maleki Shoja, B., & Tabrizi, N. (2019). An Overview of Cloud Computing Testing Research. In International Conference on Cloud Computing (pp. 303-313). Springer, Cham.
Zhang, L., Yin, B. B., Lv, J., Cai, K. Y., Yau, S. S., & Yu, J. (2014a). A history-based dynamic random software testing. In 2014 IEEE 38th International Computer Software and Applications Conference Workshops (pp. 31-36). IEEE. https://doi.org/10.1109/COMPSACW.2014a.9
Zhang, Y. P., Qin, J., & Zhai, Z. (2014b). The research and Improvement of MapReduce cluster scheduling strategy based on ant colony optimization. Applied Mechanics and Materials, 513, 1989–1993. https://doi.org/10.4028/www.scientific.net/AMM.513-517.1989
Funding
This work is supported in part by National Key R&D Program of China under Grant 2021YFB1600601, in part by the National Natural Science Foundation of China under Grant 61772055 and Grant 61872169.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Pei, H., Yin, B., Huang, L. et al. A dynamic random testing strategy in the context of cloud computing. Software Qual J 31, 243–277 (2023). https://doi.org/10.1007/s11219-022-09599-w
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-022-09599-w