Reviewing Software Testing Models and Optimization Techniques: An Analysis of Efficiency and Advancement Needs

Authors

  • Sarvesh Kumar Department of Computer Science Engineering, Babu Banarasi Das University, Lucknow, Uttar Pradesh, India 226028

DOI:

https://doi.org/10.57159/gadl.jcmm.2.1.23041

Keywords:

Software testing, Optimization techniques, Performance analysis, Test cases

Abstract

Software testing is a crucial component of software engineering that aims to confirm the intended functionality of software modules and minimize the likelihood of future failures. This paper provides a comprehensive review of various software testing models and optimization techniques available in the literature, emphasizing their performance analysis and related research papers. The paper analyzes and discusses the most commonly used software testing models, including waterfall, incremental, V-model, agile, and spiral models, and identifies several areas for improvement to increase their effectiveness. These areas include using machine learning techniques to automate and optimize testing processes, reducing the number of test cases required, and introducing new metrics to gauge the success of testing.

Moreover, the paper suggests developing entirely novel methods to deal with the challenges of contemporary software programs, such as the Internet of Things and artificial intelligence. This paper aims to analyze various software testing models and optimization techniques thoroughly, highlight their advantages and disadvantages, and suggest improvements to increase their efficiency and effectiveness. By continuously improving and optimizing software testing processes, software modules can function as intended, minimizing the likelihood of future failures.

Author Biography

Sarvesh Kumar, Department of Computer Science Engineering, Babu Banarasi Das University, Lucknow, Uttar Pradesh, India 226028

Mr. Sarvesh Kumar is an accomplished Assistant Professor at Babu Banarasi Das University, Lucknow, India, with over 9 years of experience in research, teaching, and administration. He obtained his Bachelor's degree in technology from Uttar Pradesh Technical University, Lucknow, and completed his Master's degree in technology from Lovely Professional University, Punjab. Kumar is a qualified GATE candidate and a member of prestigious international bodies such as IEEE and CSI. He has published more than 40 research papers, 05 patents, and multiple book chapters in the field of Computer Science and Engineering. In addition, he has served as an editor and reviewer for several international journals and has been awarded the National Young Eminent Researcher Award in 2020. Currently, Kumar is actively involved in reviewing international conferences and is a reviewer for CRC and IGI Global. His research areas primarily focus on Cloud Computing and Security, making him a valuable asset in the field of technology.

 

References

M. Jamil, M. Arif, N. Abubakar, and A. Ahmad, Software testing techniques: a literature review, in 2016 6th International Conference on Information and Communication Technology for The Muslim World (ICT4M), Nov. 2017, pp. 177-182.

F. Lonetti and E. Marchetti, Emerging software testing technologies, in Advances in Computers, 108, 2018, pp. 91-143.

M. Mayeda and A. Andrews, Evaluating software testing techniques: A systematic mapping study, in Advances in Computers, 123, 2021, pp. 41-114.

M. Wolf, Program design and analysis, in Computers as Components, Elsevier, 2023, pp. 219-319.

C. Moseley, 7 Reasons why collaboration is important, Jostle, 2021.

M. Poženel and B. Slivnik, Using clickstream data to enhance reverse engineering of Web applications, in Advances in Computers, 116, (1), 2020, pp. 305-349.

E. Conrad, S. Misenar, and J. Feldman, Security assessment and testing, in Eleventh Hour CISSP®, Elsevier, 2017, pp. 135-144.

D. Hartley, Reviewing code for SQL injection, in SQL Injection Attacks and Defense: Second Edition, Elsevier, 2012, pp. 89-138.

A. Bertolino, Software testing research: achievements, challenges, dreams, in FoSE 2007: Future of Software Engineering, May 2007, pp. 85-103.

Sayantini, Software Testing Models, Edureka, 2019.

C. Tupper, Data organization practices, in Data Architecture, Elsevier, 2011, pp. 175-190.

E. Goodman, M. Kuniavsky, and A. Moed, Balancing needs through iterative development, in Observing the User Experience, Elsevier, 2012, pp. 21-44.

R. Hartson and P. Pyla, Agile lifecycle processes and the funnel model of agile UX, in The UX Book, Elsevier, 2019, pp. 63-80.

R. Sherman, Project management, in Business Intelligence Guidebook, 33, (3), Elsevier, 2015, pp. 449-492.

G. Swara, I. Warman, and D. Putra, Implementation of the waterfall model on android-based travel ticket booking applications, "Journal of Information System, Informatics and Computing," 6, (1), pp. 235-245, 2022.

A. Ardhiansyah, D. Putra, J. Kristanto, N. Budhianto, and F. Maulana, Waterfall Model for Design and Development Coffee Shop Website at Malang, in 2022 International Conference on Informatics, Multimedia, Cyber and Information System (ICIMCIS), Nov. 2023, pp. 230-234.

S. Herawati, Y. Negara, H. Febriansyah, and D. Fatah, Application of the waterfall method on a web-based job training management information system at Trunojoyo university Madura, "E3S Web of Conferences," 328, p. 04026, 2021.

T. Rahayu, Susanto, and Suwarjono, Application Report Process of Islamic School Based on Pesantren boarding using waterfall model, "Journal of Physics: Conference Series," 1569, (2), p. 022025, 2020.

Y. Dwi Putra Negara, D. Rizal Setiawan, E. Rochman, and F. Ayu Mufarroha, Development of a boarding house search information system using the waterfall model, "E3S Web of Conferences," 328, p. 04030, 2021.

F. Badri, R. Maulana, K. Khotimah, R. Budiarti, and A. Andhyka, Design and build a web app-based conference registration system using the waterfall model, "Applied Technology and Computing Science Journal," 4, (2), pp. 119-127, 2022.

R. Purba and S. Sondang, Design and build monitoring system for pregnant mothers and newborns using the waterfall model, "INTENSIF: Jurnal Ilmiah Penelitian dan Penerapan Teknologi Sistem Informasi," 6, (1), pp. 29-42, 2022.

P. Ganney, S. Pisharody, and E. Claridge, Software engineering, in Clinical Engineering, 11, (2), Elsevier, 2020, pp. 131-168.

K. Genter, N. Agmon, and P. Stone, Role-based ad hoc teamwork, in Plan, Activity, and Intent Recognition: Theory and Practice, Elsevier, 2014, pp. 251-272.

N. Bhatt and S. Visvanathan, Incremental kinetic identification based on experimental data from steady-state plug Flow Reactors, in Computer Aided Chemical Engineering, 37, 2015, pp. 593-598.

D. Rodrigues, J. Billeter, and D. Bonvin, Global identification of kinetic parameters via the extent-based incremental approach, in Computer Aided Chemical Engineering, 40, 2017, pp. 2119-2124.

S. Hanks and D. Madigan, Probabilistic temporal reasoning, in Foundations of Artificial Intelligence, 1, (C), 2005, pp. 315-342.

B. Shahzad, I. Ullah, and N. Khan, Software risk identification and mitigation in incremental model, in 2009 International Conference on Information and Multimedia Technology, ICIMT 2009, 2009, pp. 366-370.

L. Qiu and C. Riesbeck, An incremental model for developing educational critiquing systems: Experiences with the Java Critiquer, "Journal of Interactive Learning Research," 19, (1), pp. 119-145, 2008.

A. Rachman, Andreansyah, and Rahmi, Implementation of incremental models on development of web-based loan cooperative applications, "International Journal of Education, Science, Technology, and Engineering," 3, (1), pp. 26-34, 2020.

S. Lity, T. Morbach, T. Thüm, and I. Schaefer, Applying incremental model slicing to product-line regression testing, in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 9679, 2016, pp. 3-19.

M. Lochau, I. Schaefer, J. Kamischke, and S. Lity, Incremental model-based testing of delta-oriented software product lines, in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 7305 LNCS, 2012, pp. 67-82.

T. Weilkiens, Introduction, in Systems Engineering with SysML/UML, Elsevier, 2007, pp. 1-22.

M. Awotar and R. K. Sungkur, Optimization of software testing, "Procedia Computer Science," 132, pp. 1804-1814, 2018.

S. Shylesh, A study of software development life cycle process models, "SSRN Electronic Journal," pp. 1-7, 2017.

D. Firesmith, No using v models for testing title, SEI Blog, 2013.

G. Regulwar, P. Deshmukh, R. Tugnayat, P. Jawandhiya, and V. Gulhane, Variations in V model for software development, "International Journal of Advanced Research in Computer Science," 1, (2), pp. 135-140, 2010.

M. Durmuş, İ. Üstoğlu, R. Tsarev, and J. Börcsök, Enhanced V-model, "Informatica (Slovenia)," 42, (4), pp. 577-585, 2018.

B. Liu, H. Zhang, and S. Zhu, An incremental V-model process for automotive development, in Proceedings - Asia-Pacific Software Engineering Conference, APSEC, 2016, 0, pp. 225-232.

C. Lim and J. Chin, V-model with fuzzy quality function deployments for mobile application development, "Journal of Software: Evolution and Process," 35, (1), 2023.

T. Hynninen, A. Knutas, and J. Kasurinen, Designing early testing course curricula with activities matching the V-model phases, in 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics, MIPRO 2019 - Proceedings, May 2019, pp. 1593-1598.

A. Khan, M. Akram, A. Salam, and W. Butt, An enhanced agile-V model for system engineering in complex medical device development, in 2022 2nd International Conference on Digital Futures and Transformative Technologies, ICoDT 2022, May 2022, pp. 1-6.

W. Febriyani, F. Kistianti, and M. Lubis, Validation and verification of business architecture process based on the V. model, in 2022 Seventh International Conference on Informatics and Computing (ICIC), Dec. 2023, pp. 01-06.

M. Ali Babar, Making software architecture and agile approaches work together: foundations and approaches, in Agile Software Architecture: Aligning Agile Processes and Software Architectures, Elsevier, 2013, pp. 1-22.

P. Rodríguez, M. Mäntylä, M. Oivo, L. Lwakatare, P. Seppänen, and P. Kuvaja, Advances in using agile and lean processes for software development, in Advances in Computers, 113, 2019, pp. 135-224.

A. Agrawal, M. Atiq, and L. Maurya, A Current study on the limitations of agile methods in industry using secure google forms, "Physics Procedia," 78, pp. 291-297, 2016.

A. Hoffman, Agile software development life cycle explained - vintank, JavaTpoint, 2020.

J. Kahles, J. Torronen, T. Huuhtanen, and A. Jung, Automating root cause analysis via machine learning in agile software testing environments, in Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019, Apr. 2019, pp. 379-390.

S. Dhir and D. Kumar, Automation software testing on web-based application, "Advances in Intelligent Systems and Computing," 731, pp. 691-698, 2019.

I. Elgrably and S. Oliveira, Construction of a syllabus adhering to the teaching of software testing using agile practices, "Proceedings - Frontiers in Education Conference, FIE," 2020-Octob, 2020.

S. Gochhait, S. A. Butt, T. Jamal, and A. Ali, Cloud enhances agile software development, "Research Anthology on Agile Software, Software Development, and Testing," 1, pp. 491-507, 2021.

S. Kaur, S. Hooda, and H. Deo, Software quality management by agile testing, "Agile Software Development," pp. 221-233, 2023.

E. Conrad, S. Misenar, and J. Feldman, Software development security, in Eleventh Hour CISSP, Elsevier, 2014, pp. 63-76.

E. Conrad, S. Misenar, and J. Feldman, Software development security (understanding, applying, and enforcing software security), in CISSP Study Guide, Elsevier, 2016, pp. 429-477.

M. Jazayeri, Software engineering, in Encyclopedia of Physical Science and Technology, Elsevier, 2003, pp. 1-14.

R. Sharma and A. Saha, Fermat spiral-based moth-flame optimization algorithm for object-oriented testing, Springer, Singapore, 2020, pp. 19-34.

G. Aimicheva, Z. Kopeyev, Z. Ordabayeva, N. Tokzhigitova, and S. Akimova, A spiral model teaching mobile application development in terms of the continuity principle in school and university education, "Education and Information Technologies," 25, (3), pp. 1875-1889, 2020.

Supiyandi, C. Rizal, B. Fachri, M. Eka, and Y. Nasution, Development of a village information system using the spiral method, "International Conference on Sciences Development and Technology," 2, (1), pp. 112-117, 2022.

M. Khadapi, Implementation of the spiral method for analyzing and designing financial information systems and financial archives for cashier financial management section (cash information replacement), "Journal of Artificial Intelligence and Engineering Applications," 2, (2), pp. 53-58, 2023.

J. Musa, Software reliability engineering, in Reliability and Maintenance of Complex Systems, S. Özekici, Ed. Springer Berlin Heidelberg, 2013, pp. 319-332.

L. Lazic, Software testing optimization by advanced quantitative defect management, "Computer Science and Information Systems," 7, (3), pp. 459-487, 2010.

F. Elberzhager, A. Rosbach, J. Münch, and R. Eschbach, Reducing test effort: A systematic mapping study on existing approaches, "Information and Software Technology," 54, (10), pp. 1092-1106, 2012.

R. Singh and M. Santosh, Test case minimization techniques: A Review, "International Journal of Engineering Research & Technology," 2, (12), pp. 1048-1056, 2013.

E. Narciso, M. Delamaro, and F. Nunes, Test case selection: a systematic literature review, "International Journal of Software Engineering and Knowledge Engineering," 24, (04), pp. 653-676, 2014.

R. Huang, H. Chen, W. Sun, and D. Towey, Candidate test set reduction for adaptive random testing: An overheads reduction technique, "Science of Computer Programming," 214, p. 102730, 2022.

T. Chen, F. Kuo, R. Merkel, and T. Tse, Adaptive random testing: The ART of test case diversity, "Journal of Systems and Software," 83, (1), pp. 60-66, 2010.

H. Pei, B. Yin, M. Xie, and K. Cai, Dynamic random testing with test case clustering and distance-based parameter adjustment, "Information and Software Technology," 131, p. 106470, 2021.

S. Yoo and M. Harman, Regression testing minimization, selection and prioritization: a survey, "Software Testing, Verification and Reliability," p. n/a-n/a, 2010.

G. Barbosa, É. de Souza, L. dos Santos, M. da Silva, J. Balera, and N. Vijaykumar, a systematic literature review on prioritizing software test cases using Markov chains, "Information and Software Technology," 147, p. 106902, 2022.

R. Mukherjee and K. Patnaik, A survey on different approaches for software test case prioritization, "Journal of King Saud University - Computer and Information Sciences," 33, (9), pp. 1041-1054, 2021.

M. Khatibsyarbini, M. Isa, D. Jawawi, H. Hamed, and M. Suffian, Test case prioritization using firefly algorithm for software testing, "IEEE Access," 7, pp. 132360-132373, 2019.

S. Mirarab and L. Tahvildari, A prioritization approach for software test cases based on bayesian networks, in Fundamental Approaches to Software Engineering, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 276-290.

G. Kumar and P. K. Bhatia, Software testing optimization through test suite reduction using fuzzy clustering, "CSI Transactions on ICT," 1, (3), pp. 253-260, 2013.

A. Upadhyay and A. Misra, Prioritizing Test Suites Using Clustering pproach in Software Testing, "Ijsce.Org," (4), pp. 222-226, 2012.

S. Yoo, M. Harman, P. Tonella, and A. Susi, Clustering test cases to achieve effective & scalable prioritisation incorporating expert knowledge, in Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009, Jul. 2009, pp. 201-211.

S. Shekhar, Y. Li, R. Y. Ali, E. Eftelioglu, X. Tang, and Z. Jiang, Spatial and spatiotemporal data mining, in Comprehensive Geographic Information Systems, Elsevier, 2018, pp. 264-286.

I. Witten, E. Frank, M. Hall, and C. Pal, Probabilistic methods, in Data Mining, Elsevier, 2017, pp. 335-416.

D. Slane, Fault localization in in vivo software testing by, Bard College at Simon's Rock Great Barrington, Massachusetts, 2009.

W. E. Wong, R. Gao, Y. Li, R. Abreu, and F. Wotawa, A survey on software fault localization, "IEEE Transactions on Software Engineering," 42, (8), pp. 707-740, 2016.

T. Ostrand, E. Weyuker, and R. Bell, Predicting the location and number of faults in large software systems, "IEEE Transactions on Software Engineering," 31, (4), pp. 340-355, 2005.

F. Keller, L. Grunske, S. Heiden, A. Filieri, A. Van Hoorn, and D. Lo, A critical evaluation of spectrum-based fault localization techniques on a large-scale software system, "Proceedings - 2017 IEEE International Conference on Software Quality, Reliability and Security, QRS 2017," pp. 114-125, 2017.

H. He, J. Ren, G. Zhao, and H. He, Enhancing spectrum-based fault localization using fault influence propagation, "IEEE Access," 8, pp. 18497-18513, 2020.

R. Abreu, P. Zoeteweij, and A. van Gemund, Spectrum-based multiple fault localization, in 2009 IEEE/ACM International Conference on Automated Software Engineering, Nov. 2009, pp. 88-99.

H. de Souza, D. Mutti, M. Chaim, and F. Kon, Contextualizing spectrum-based fault localization, "Information and Software Technology," 94, pp. 245-261, 2018.

M. Papadakis, M. Kintis, J. Zhang, Y. Jia, Y. Le Traon, and M. Harman, Mutation testing advances: an analysis and survey, in Advances in Computers, 112, 2019, pp. 275-378.

R. Silva, S. de Souza, and P. Lopes de Souza, A systematic review on search based mutation testing, "Information and Software Technology," 81, pp. 19-35, 2017.

Y. Jia and M. Harman, An analysis and survey of the development of mutation testing, "IEEE Transactions on Software Engineering," 37, (5), pp. 649-678, 2011.

N. Shomali and B. Arasteh, Mutation reduction in software mutation testing using firefly optimization algorithm, "Data Technologies and Applications," 54, (4), pp. 461-480, 2020.

R. Just, The major mutation framework: Efficient and scalable mutation analysis for Java, "2014 International Symposium on Software Testing and Analysis, ISSTA 2014 - Proceedings," pp. 433-436, 2014.

R. Kacker, D. Kuhn, Y. Lei, and J. Lawrence, Combinatorial testing for software: An adaptation of design of experiments, "Measurement: Journal of the International Measurement Confederation," 46, (9), pp. 3745-3752, 2013.

Z. Zhang, J. Yan, Y. Zhao, and J. Zhang, Generating combinatorial test suite using combinatorial optimization, "Journal of Systems and Software," 98, pp. 191-207, 2014.

C. Nie and H. Leung, A survey of combinatorial testing, "ACM Computing Surveys," 43, (2), 2011.

Downloads

Published

28-02-2023

How to Cite

[1]
S. Kumar, “Reviewing Software Testing Models and Optimization Techniques: An Analysis of Efficiency and Advancement Needs”, J. Comput. Mech. Manag, vol. 2, no. 1, pp. 43–55, Feb. 2023.

Issue

Section

Review Articles

Categories