Abstract

Over recent years, software teams and companies have made attempts to achieve higher productivity and efficiency and get more success in the competitive market by employing proper software methods and practices. Test-driven development (TDD) is one of these practices. The literature review shows that this practice can lead to the improvement of the software development process. Existing empirical studies on TDD report different conclusions about its effects on quality and productivity. The present study tried to briefly report the results from a comparative multiple-case study of two software development projects where the effect of TDD within an industrial environment. Method: We conducted an experiment in an industrial case with 18 professionals. We measured TDD effectiveness in terms of team productivity and code quality. We also measured mood metric and cyclomatic complexity to compare our results with the literature. We have found that the test cases written for a TDD task have higher defect detection ability than test cases written for an incremental NON-TDD development task. Additionally, discovering bugs and fixing them became easier. The results obtained showed the TDD developers develop software code with a higher quality rate, and it results in increasing team productivity than NON_TDD developers.

Highlights

  • The conducted research studies show the broad acceptance of Agile methods and procedures in the software industry [1,2,3,4]

  • In the test-first development process, a test is first generated prior to the creation of adequate code, and refactoring is done to convert the new code to accepted standards [9]

  • Research questions Two main questions have arisen for researchers, and answers to these questions are investigated in the following: RQ1: Does Test-driven development (TDD) approach produce a code with higher quality than NON-TDD approach? RQ2: Does TDD approach improve productivity?

Read more

Summary

Introduction

The conducted research studies show the broad acceptance of Agile methods and procedures in the software industry [1,2,3,4]. TDD is an approach, which is a combination of test-first development (TFD) and refactoring [8]. In the test-first development process, a test is first generated prior to the creation of adequate code, and refactoring is done to convert the new code to accepted standards [9]. The critical point is that TDD is not a technique to test, but it is a development process that generates more coherent codes that are less dependent on the traditional approach [11]. This process teaches programmers how to be more productive and generate codes with higher modularity, Journal homepage: http://beei.org

Objectives
Methods
Findings
Discussion
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.