Evaluating the impact of Test-Driven Development on Software Quality Enhancement

PDF (1038KB), PP.51-76

Views: 0 Downloads: 0

Author(s)

Md. Sydur Rahman 1,* Aditya Kumar Saha 1 Uma Chakraborty 1 Humaira Tabassum Sujana 1 S. M. Abdullah Shafi 1

1. Department of Computer Science, American International University-Bangladesh, Dhaka, 1219, Bangladesh

* Corresponding author.

DOI: https://doi.org/10.5815/ijmsc.2024.03.05

Received: 10 Jul. 2024 / Revised: 8 Aug. 2024 / Accepted: 28 Aug. 2024 / Published: 8 Sep. 2024

Index Terms

Test-driven development (TDD), Software quality, Behavior-driven development, Enhancing software quality, Early defect detection, Defect reduction, User satisfaction

Abstract

In the software development industry, ensuring software quality holds immense significance due to its direct influence on user satisfaction, system reliability, and overall end-users. Traditionally, the development process involved identifying and rectifying defects after the implementation phase, which could be time-consuming and costly. Determining software development methodologies, with a specific emphasis on Test-Driven Development, aims to evaluate its effectiveness in improving software quality. The study employs a mixed-methods approach, combining quantitative surveys and qualitative interviews to comprehensively investigate the impact of Test-Driven Development on various facets of software quality. The survey findings unveil that Test-Driven Development offers substantial benefits in terms of early defect detection, leading to reduced costs and effort in rectifying issues during the development process. Moreover, Test-Driven Development encourages improved code design and maintainability, fostering the creation of modular and loosely coupled code structures. These results underscore the pivotal role of Test-Driven Development in elevating code quality and maintainability. Comparative analysis with traditional development methodologies highlights Test-Driven Development's effectiveness in enhancing software quality, as rated highly by respondents. Furthermore, it clarifies Test-Driven Development's positive impact on user satisfaction, overall product quality, and code maintainability. Challenges related to Test-Driven Development adoption are identified, such as the initial time investment in writing tests and difficulties adapting to changing requirements. Strategies to mitigate these challenges are proposed, contributing to the practical application of Test-Driven Development. Offers valuable insights into the efficacy of Test-Driven Development in enhancing software quality. It not only highlights the benefits of Test-Driven Development but also provides a framework for addressing challenges and optimizing its utilization. This knowledge is invaluable for software development teams, project managers, and quality assurance professionals, facilitating informed decisions regarding adopting and implementing Test-Driven Development as a quality assurance technique in software development.

Cite This Paper

Md. Sydur Rahman, Aditya Kumar Saha, Uma Chakraborty, Humaira Tabassum Sujana, S. M. Abdullah Shafi, "Evaluating the impact of Test-Driven Development on Software Quality Enhancement", International Journal of Mathematical Sciences and Computing(IJMSC), Vol.10, No.3, pp. 51-76, 2024. DOI: 10.5815/ijmsc.2024.03.05

Reference

[1][Ivo et al., 2020] André A. S. Ivo, Eduardo M. Guerra, Sandy M. Porto, Joelma Choma, and Marcos G. Quiles, "An approach for applying Test-Driven Development (TDD) in the development of randomized algorithms," Springer, 2020.
[2][Yang et al., 2020] PENG YANG, ZIXI LIU, JIN XU2, YONG HUANG2, AND YA PAN, "An Empirical Study on the Ability Relationships Between Programming and Testing," IEEE, 2020.
[3][Janzen and Saiedian, 2008] David S. Janzen and Hossein Saiedian, "Does Test-Driven Development Really Improve Software Design Quality?" IEEE, 2008.
[4][Staegemann et al., 2023] Daniel Staegemann, Matthias Volk, Mohammad Abdallah, Klaus Turowski, "On the Challenges of Applying Test Driven Development to the Engineering of Big Data Applications," 20th International Conference on Smart Business Technologies, 2023.
[5][Wei, 2023] Bingyang Wei, "Teaching Test-Driven Development and Object-Oriented Design by Example," IEEE, 2023.
[6][Cavalcante and Sales, 2019] Maria Gerliane Cavalcante, José Iranildo Sales, "The Behavior Driven Development Applied to the Software Quality Test," IEEE, 2019.
[7][Pervez and Eman, 2022] Muhammad Usama Bin Pervez, Laiba Eman, "Test Driven Development: A Review," National University of Sciences and Technology, Islamabad, Pakistan, 2022.
[8][Papakonstantinou et al., 2009] Dr. Nikolaos Papakonstantinou, Dr. Sigrid Klinger, Mugur Tatar, "Test-driven Development of DCT Control Software," 8th International CTI Symposium Innovative Automotive Transmissions, Berlin, 2009.
[9][Zhang, 2023] Yuefeng Zhang, "Test-Driven Modeling for Model-Driven Development," IEEE, 2023.
[10][T and P, 2020] Yogesh T, Dr. Vimala P, "Test-Driven Development of Automotive Software Functionality," IEEE, 2020.
[11][Abushama et al., 2020] Hisham M. Abushama, Hanaa Altigani Alassam, Fatin A. Elhaj, "The effect of Test-Driven Development and Behavior-Driven Development on Project Success Factors: A Systematic Literature Review Based Study," IEEE, 2020.
[12][Pančur and Ciglarič, 2020] Matjaž Pančur, Mojca Ciglarič, "Impact of test-driven development on productivity, code and tests: A controlled experiment," Sciencedirect, 2020.
[13][Makinen and Münch, 2014] Simo Makinen, Jürgen Münch, "Effects of Test-Driven Development: A Comparative Analysis of Empirical Studies," 6th International Conference Software Quality Days (SWQD 2014), Vienna, Austria, 2014.
[14][Alami and Krancher, 2022] Adam Alami & Oliver Krancher, "How Scrum adds value to achieving software quality?" Springer, 2022.
[15][Khanam and Ahsan, 2017] Zeba Khanam, M.N. Ahsan, "Evaluating the effectiveness of test driven development: Advantages and pitfalls," International Journal of Applied Engineering Research, 2017.
[16][Bissi et al., 2020] Wilson Bissi, Adolfo Gustavo Serra Seca Neto, Maria Claudia Figueiredo Pereira Emer, "The effects of test driven development on internal quality, external quality and productivity: A systematic review," ScienceDirect, 2020.
[17][Bakhtiary et al., 2020] Vahid Bakhtiary, Taghi Javdani Gandomani, Shahrekord University, Afshin Salajegheh, "The effectiveness of test-driven development approach on software projects: A multi-case study," Institute of Advanced Engineering and Science, 2020.
[18][Janzen and Saiedian, 2006] D.S. Janzen, Hossein Saiedian, "On the Influence of Test-Driven Development on Software Design," IEEE, 2006.
[19][Sanchez, 2023] Enis Sanchez, "The Philosophy Behind Test-Driven Development," Medium, 2023.
[20][Roman and Mnich, 2021] Adam Roman, Michal Mnich, "Test-driven development with mutation testing – an experimental study," Springer, 2021.
[21][Müller and Höfer, 2023] Matthias M. Müller, Andreas Höfer, "The effect of experience on the test-driven development process," DBLP journal, 2023.
[22][Al-Saqqa et al., 2020] Samar Al-Saqqa, Samer Sawalha, Princess Sumaya, Hiba Abdel-Nabi, "Agile Software Development: Methodologies and Trends," International Journal of Interactive Mobile Technologies (iJIM), 2020.
[23][Rizvi et al., 2015] Buturab Rizvi, Ebrahim Bagheri, Dragan Gasevic, "A systematic review of distributed Agile software engineering," Journal of Software: Evolution and Process, 2015.
[24][Irshad and Britto, 2021] Mohsin Irshad, Ricardo Britto, Kai Petersen, "Adapting Behavior Driven Development (BDD) for large-scale software systems," ScienceDirect, 2021.
[25][Szabó and Hercegfi, 2022] Bálint Szabó, Károly Hercegfi, "User-centered approaches in software development processes: Qualitative research into the practice of Hungarian companies," Wiley, 2022.
[26][Munir et al., 2014] Hussan Munir, Krzysztof Wnuk, Kai Petersen, Misagh Moayyed, "An Experimental Evaluation of Test Driven Development vs. Test-Last Development with Industry Professionals," 2014.
[27][Robinson et al., 2007] Hugh Robinson, Judith Segal, Helen Sharp, "Ethnographically-informed empirical studies of software practice," ScienceDirect, 2007.
[28][Romano et al., 2020] Simone Romano, Davide Fucci, Giuseppe Scanniello, Burak Turhan, Natalia Juristo, "Findings from a multi-method study on test-driven development," ScienceDirect, 2020.