Abstract
Network and real-time projects requires special and effective testing consideration before implementing in real environment. The effective test-sequence not only reduces the actual testing time but also reduces the cost and efforts. The design-flow diagram and the module attributes play an essential role in generating a valid path sequence. In this paper, an automated and generalized framework is designed that processes the code project and generates the optimized test sequence. In the earlier stage of this framework, the structural and relational features of program code are extracted, and the design flow-diagram is constructed. While constructing the diagram, the design-time features are computed, connected, and updated with each node. The connectivity, dependency, positional, and contributional features are computed for each node. In the second stage, this weighted design-flow diagram and fault weights are used in a combined form for deciding the low-cost test sequence. The proposed framework is applied to five network, security and robotics based code sources. The comparative analysis is done against the Random Search, Genetics, and REMAP methods for test sequence generation. The proposed model achieved an average APFDc score of 87.11%. The proposed model achieved 3.3% gain over REMAP (Ripper + IBEA(3Obj)), 7.9% gain over REMAP (Ripper + SPEA2(2Obj)), 20.63% gain over Genetics (3Objects), 21.05% gain over Genetics (2Objects), 34.5% gain over Random Forest (3 Objects) and 34.96% gain over Random forests(3Objs). The results confirm that the proposed model achieved the higher APFDc score than state-of-art methods.





Similar content being viewed by others
Data Availability
The open source projects that are used in this research are cited properly. Some results are derived from earlier research and these are also cited properly.
Code Availability
Not available.
References
Ramler, R., Buchgeher, G., & Klammer, C. (2018). Adapting automated test generation to GUI testing of industry applications. Information and Software Technology, 93, 248–263.
Garousi, V., Felderer, M., & Kılıçaslan, F. N. (2019). A survey on software testability. Information and Software Technology, 108, 35–64.
Ahmad, T., Iqbal, J., Ashraf, A., Truscan, D., & Porres, I. (2019). Model-based testing using UML activity diagrams: A systematic mapping study. Computer Science Review, 33, 98–112.
Khurana, N., & Chillar, R. S. (2015). Test Case Generation and Optimization using UML Models and Genetic Algorithm. Procedia Computer Science, 57, 996–1004.
Campos, S., Grumberg, O., Yorav, K., & Fady, C. (2004). Test sequence generation and model checking using dynamic transition relations. International Journal on Software Tools for Technology Transfer, 6(2), 174–182.
Mukherjee, R., & Patnaik, K. S. (2018). A survey on different approaches for software test case prioritization. Journal of King Saud University - Computer and Information Sciences, 33, 1041–1054.
Hemmati, H. (2019). Chapter four - advances in techniques for test prioritization. Advances in Computers, 112, 185–221.
Bukhsh, F. A., Bukhsh, Z. A., & Daneva, M. (2020). A systematic literature review on requirement prioritization techniques and their empirical evaluation. Computer Standards & Interfaces, 69, 103389.
Jiang, B., Zhang, Z., Chan, W. K., Tse, T. H., & Chen, T. Y. (2012). How well does test case prioritization integrate with statistical fault localization? Information and Software Technology, 54(7), 739–758.
Farooq, F., & Nadeem, A. (2017). A fault based approach to test case prioritization. In International conference on frontiers of information technology (FIT) (pp. 52–57).
Wang, Y., Zhao, X., & Ding, X. (2015). An effective test case prioritization method based on fault severity. In: 6th IEEE international conference on software engineering and service science (ICSESS) (pp. 737–741).
Nayak, S., Kumar, C., Tripathi, S., & Majumdar, N. (2019). An improved approach to enhance the test case prioritization efficiency. In Proceedings of ICETIT (pp. 1119–1128).
Indumathi, C. P., & Selvamani, K. (2015). Test cases prioritization using open dependency structure algorithm. Procedia Computer Science, 48, 250–255.
Srikanth, H., Hettiarachchi, C., & Do, H. (2016). Requirements based test prioritization using risk factors: An industrial study. Information and Software Technology, 69, 71–83.
Kavitha, R., & Kavitha, V. R., & Suresh Kumar, N. (2010). Requirement based test case prioritization. In International conference on communication control and computing technologies (pp. 826–829).
Dobuneh, M. R. N., Jawawi, D. N. A., Ghazali, M., & Malakooti, M. V. (2014). Development test case prioritization technique in regression testing based on hybrid criteria. In 8th Malaysian software engineering conference (MySEC) (pp. 301–305).
Mohapatra, S. K., & Prasad, S. (2013). Evolutionary search algorithms for test case prioritization. In International conference on machine intelligence and research advancement (pp. 115–119).
Chen, J., et al. (2018). Test case prioritization for object-oriented software: An adaptive random sequence approach based on clustering. Journal of Systems and Software, 135, 107–125.
Kaliraj, S., & Bharathi, A. (2019). Path testing based reliability analysis framework of component based software system. Measurement, 144, 20–32.
Mohi-Aldeen, S. M., Mohamad, R., & Deris, S. (2016). Application of Negative Selection Algorithm (NSA) for test data generation of path testing. Applied Soft Computing, 49, 1118–1128.
Huang, R., Zhang, Q., Towey, D., Sun, W., & Chen, J. (2020). Regression test case prioritization by code combinations coverage. Journal of Systems and Software, 169, 110712.
Li, J., Zhang, Y., & Bian, J. (2019). Defect-Oriented Test Case Prioritization. Chinese Intelligent Systems Conference, Lecture Notes in Electrical Engineering, 593, 651–659.
Huang, R., et al. (2020). Abstract test case prioritization using repeated small-strength level-combination coverage. IEEE Transactions on Reliability, 69(1), 349–372.
Wang, R., Li, Z., Jiang, S., & Tao, C. (2020). Regression test case prioritization based on fixed size of candidate set ART algorithm. International Journal of Software Engineering and Knowledge Engineering, 30(3), 291–320.
Pradhan, D., Wang, S., Ali, S., Yue, T., & Liaaen, M. (2018). REMAP: Using rule mining and multi-objective search for dynamic test case prioritization. In IEEE 11th international conference on software testing, verification and validation (ICST) (pp. 46–57).
Mahdieh, M., Mirian-Hosseinabadi, S.-H., Etemadi, K., Nosrati, A., & Jalali, S. (2020). Incorporating fault-proneness estimations into coverage-based test case prioritization methods. Information and Software Technology, 121, 106269.
Wei, D., Sun, Q., Wang, X., Zhang, T., & Chen, B. (2020). A model-based test case prioritization approach based on fault urgency and severity. International Journal of Software Engineering and Knowledge Engineering, 30(2), 263–290.
Eldrandaly, K., Ellatif, M. A., & Zaki, N. (2020). A proposed framework for test suite prioritization and reduction using the clustering data mining technique. Journal of Theoretical and Applied Information Technology, 98(2), 290–307.
Mahali, P., & Mohapatra, D. P. (2018). Model based test case prioritization using UML behavioural diagrams and association rule mining. International Journal of System Assurance Engineering and Management, 9(5), 1063–1079.
Wang, Y., Zhu, Z., Yang, Bo., Guo, F., & Hai, Yu. (2018). Using reliability risk analysis to prioritize test cases. Journal of Systems and Software, 139, 14–31.
Khalilian, A., Azgomi, M. A., & Fazlalizadeh, Y. (2012). An improved method for test case prioritization by incorporating historical test case data. Science of Computer Programming, 78(1), 93–116.
Hettiarachchi, C., Do, H., & Choi, B. (2016). Risk-based test case prioritization using a fuzzy expert system. Information and Software Technology, 69, 1–15.
Huang, C.-Y., Chang, J.-R., & Chang, Y.-H. (2010). Design and analysis of GUI test-case prioritization using weight-based methods. Journal of Systems and Software, 83(4), 646–659.
Yadav, D. K., & Dutta, S. (2016). Test case prioritization technique based on early fault detection using fuzzy logic. In 3rd international conference on computing for sustainable global development (INDIACom) (pp. 1033–1036).
Jahan, H., Feng, Z., & Mahmud, S. M. H. (2020). Risk-based test case prioritization by correlating system methods and their associated risks. Arabian Journal for Science and Engineering, 45, 6125–6138.
Ferrer, J., Kruse, P. M., Chicano, F., & Alba, E. (2015). Search based algorithms for test sequence generation in functional testing. Information and Software Technology, 58, 419–432.
Lam, S. S. B., Hari Prasad Raju, M. L., Kiran, U. M., Ch, S., & Srivastav, P. R. (2012). Automated generation of independent paths and test suite optimization using artificial bee colony. Procedia Engineering, 30, 191–200.
Banias, O. (2019). Test case selection-prioritization approach based on memoization dynamic programming algorithm. Information and Software Technology, 115, 119–130.
Di Nucci, D., Panichella, A., Zaidman, A., & De Lucia, A. (2020). A test case prioritization genetic algorithm guided by the hypervolume indicator. IEEE Transactions on Software Engineering, 46(6), 674–696.
Hemmati, H., Arcuri, A., & Briand, L. (2013). Achieving scalable model-based testing through test case diversity. ACM Transactions on Software Engineering and Methodology, 22(1), 63–78.
Hemmati, H., & Briand, L. (2010). An industrial investigation of similarity measures for model-based test case selection. In Proceedings of 21st international conference on software reliability engineering (pp. 141–150).
Jiang, B., & Chan, W. K. (2015). Input-based adaptive randomized test case prioritization: A local beam search approach. Journal of Systems and Software, 105, 91–106.
Sayyari, F., & Emadi, S. (2015). Automated generation of software testing path based on ant colony. In International congress on technology, communication and knowledge (ICTCK) (pp. 435–440).
Preeti & Chaudhary, J. (2014). An improved genetic approach for test path generation. In International conference on advances in engineering & technology research (pp. 1–5).
Singh, M., Srivastava, V. M., Gaurav, K., & Gupta, P. K. (2017). Automatic test data generation based on multi-objective ant lion optimization algorithm. In: Pattern recognition association of South Africa and robotics and mechatronics (PRASA-RobMech) (pp. 168–174).
Panthi, V., & Mohapatra, D. P. (2018). Firely optimization technique based test scenario generation and prioritization. Journal of Applied Research and Technology, 16, 466–483.
Panthi, V., & Mohapatra, D. P. (2017). A Framework for generating prioritized test scenarios using firefly optimization. International Journal of Computing Science & Mathematics, 8(3), 228–237.
Dhareula, P., & Ganpati, A. (2020). Flower pollination algorithm for test case prioritization in regression testing. ICT Analysis and Applications, Lecture Notes in Networks and Systems, 93, 155–167.
Cvetković, J., & Cvetković, M. (2019). Evaluation of UML diagrams for test cases generation: Case study on depression of internet addiction. Physica A: Statistical Mechanics and its Applications, 525, 1351–1359.
Vivekanandan, K., Megala, T., & Chandini, P. (2016). Automatic generation of basis test path using clonal selection algorithm. In International conference on information communication and embedded systems (ICICES) (pp. 1–4).
Waheed, S. Z., & Qamar, U. (2015). Data flow based test case generation algorithm for object oriented integration testing. In 6th IEEE international conference on software engineering and service science (ICSESS) (pp. 423–427).
Wijayasiriwardhane, T. K., Wijayarathna, P. G., & Karunarathna, D. D. (2011). An automated tool to generate test cases for performing basis path testing. In International conference on advances in ICT for emerging regions (ICTer) (pp. 95–101).
Qingfeng, D., & Xiao, D. (2011). An improved algorithm for basis path testing. In International conference on business management and electronic information (pp. 175–178).
Chi, J., et al. (2020). Relation-based test case prioritization for regression testing. Journal of Systems and Software, 163, 110539.
Yadav, D. K., & Dutta, S. (2020). Regression test case selection and prioritization for object oriented software. Microsystem Technologies, 26, 1463–1477.
Babu, J. S., et al. (2020). Test case prioritization for regression testing based on Cc metric analyzer. International Journal of Scientific and Technology Research, 9(2), 3345–3348.
Zhou, Z. Q., Liu, C., Chen, T. Y., Tse, T. H., & Susilo, W. (2020). Beating random test case prioritization. IEEE Transactions on Reliability, 2020, 1–22.
Pradhan, D., Wang, S., Ali, S., Yue, T., & Liaaen, M. (2019). Employing rule mining and multi-objective search for dynamic test case prioritization. Journal of Systems and Software, 153, 86–104.
Funding
No funds received for this research.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
There is no conflict of interest, financial or others. I as sole author ensured the ethics approval and participation of the research.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Juneja, K. Design of a Novel Weighted-Multicriteria Analysis Model for Effective Test Case Prioritization for Network and Robotic Projects. Wireless Pers Commun 123, 2505–2532 (2022). https://doi.org/10.1007/s11277-021-09251-z
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11277-021-09251-z