Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/952532.952753acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

An initial investigation of test driven development in industry

Published: 09 March 2003 Publication History
  • Get Citation Alerts
  • Abstract

    Test Driven Development (TDD) is a software development practice in which unit test cases are incrementally written prior to code implementation. In our research, we ran a set of structured experiments with 24 professional pair programmers. One group developed code using TDD while the other a waterfall-like approach. Both groups developed a small Java program. We found that the TDD developers produced higher quality code, which passed 18% more functional black box test cases. However, TDD developer pairs took 16% more time for development. A moderate correlation between time spent and the resulting quality was established upon analysis. It is conjectured that the resulting high quality of code written using the TDD practice may be due to the granularity of TDD, which may encourage more frequent and tighter verification and validation. Lastly, the programmers which followed a waterfall-like process often did not write the required automated test cases after completing their code, which might be indicative of the tendency among practitioners toward inadequate testing. This observation supports that TDD has the potential of increasing the level of testing in the industry as testing as an integral part of code development.

    References

    [1]
    Auer, K. and Miller, R., XP Applied: Addison-Wesley, 2001.]]
    [2]
    Beck, K., Extreme Programming Explained: Embrace Change.: Addison-Wesley, 2000.]]
    [3]
    Beck, K., Test Driven Development: By Example: Addison Wesley, 2003.]]
    [4]
    Beck, K., "Aim, Fire," in IEEE Software, Vol. 18, September/October 2001, pp. 87--89.]]
    [5]
    Boehm, B. W., Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, Inc., 1981.]]
    [6]
    Chaplin, D., "Test First Programming," TechZone, 2001.]]
    [7]
    Cornett, S., "Code Coverage Analysis," Bullseye Testing Technology 2002.]]
    [8]
    Dustin, E., Rashka, J., and Paul J., Automated Software Testing. Reading, Massachusetts: Addison Wesley, 1999.]]
    [9]
    Gelperin, D. and Hetzel, W., "Software Quality Engineering," presented at Fourth International Conference on Software Testing, Washington D.C., June 1987.]]
    [10]
    George, B., "Analysis and Quantification of Test Driven Development Approach," North Carolina State MS Thesis, 2002.]]
    [11]
    Jeffries, R., Anderson, A., and Hendrickson, C., Extreme Programming Installed: Addison Wesley, 2001.]]
    [12]
    Jeffries, R. E., "Extreme Testing," presented at Software Testing and Quality Engineering, 1999.]]
    [13]
    Martin, C. R., Advanced Principles, Patterns and Process of Software Development: Prentice Hall, 2001, in press.]]
    [14]
    Muller, M. M. and Hagner, O., "Experiment about Test-first programming," presented at Empirical Assessment In Software Engineering EASE '02, Keele, April 2002.]]
    [15]
    Royce, W. W., "Managing the development of large software systems: concepts and techniques," presented at IEEE WESTCON, Los Angeles, CA, 1970.]]
    [16]
    Williams, L. A., The Collaborative Software Process. Salt Lake City, UT: Department of Computer Science, 2000.]]

    Cited By

    View all
    • (2024)Unraveling the code: an in-depth empirical study on the impact of development practices in auxiliary functions implementationSoftware Quality Journal10.1007/s11219-024-09682-432:3(1137-1174)Online publication date: 1-Sep-2024
    • (2022)Experimental Evaluation of Test-Driven Development With Interns Working on a Real Industrial ProjectIEEE Transactions on Software Engineering10.1109/TSE.2020.302752248:5(1644-1664)Online publication date: 1-May-2022
    • (2022)The Impacts of Test Driven Development on Code Coverage2022 1st International Conference on Software Engineering and Information Technology (ICoSEIT)10.1109/ICoSEIT55604.2022.10030006(46-50)Online publication date: 22-Nov-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '03: Proceedings of the 2003 ACM symposium on Applied computing
    March 2003
    1268 pages
    ISBN:1581136242
    DOI:10.1145/952532
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 March 2003

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. agile methodologies
    2. extreme programming
    3. software engineering
    4. software experimentation
    5. test driven development

    Qualifiers

    • Article

    Conference

    SAC03
    Sponsor:
    SAC03: ACM Symposium on Applied Computing
    March 9 - 12, 2003
    Florida, Melbourne

    Acceptance Rates

    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)87
    • Downloads (Last 6 weeks)8
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Unraveling the code: an in-depth empirical study on the impact of development practices in auxiliary functions implementationSoftware Quality Journal10.1007/s11219-024-09682-432:3(1137-1174)Online publication date: 1-Sep-2024
    • (2022)Experimental Evaluation of Test-Driven Development With Interns Working on a Real Industrial ProjectIEEE Transactions on Software Engineering10.1109/TSE.2020.302752248:5(1644-1664)Online publication date: 1-May-2022
    • (2022)The Impacts of Test Driven Development on Code Coverage2022 1st International Conference on Software Engineering and Information Technology (ICoSEIT)10.1109/ICoSEIT55604.2022.10030006(46-50)Online publication date: 22-Nov-2022
    • (2022)Cyber Security and the Internet of Things: Vulnerabilities, Threats, Intruders, and AttacksProceedings of International Conference on Computational Intelligence and Data Engineering10.1007/978-981-16-7182-1_31(387-401)Online publication date: 28-Feb-2022
    • (2018)System dynamics modelling of the impact of agile practice on the quality of continuous delivery projectsInnovations in Systems and Software Engineering10.1007/s11334-017-0296-z14:3(183-208)Online publication date: 1-Sep-2018
    • (2017)Unit Testing Performance in Java ProjectsProceedings of the 8th ACM/SPEC on International Conference on Performance Engineering10.1145/3030207.3030226(401-412)Online publication date: 17-Apr-2017
    • (2017)An industry experiment on the effects of test-driven development on external quality and productivityEmpirical Software Engineering10.1007/s10664-016-9490-022:6(2763-2805)Online publication date: 1-Dec-2017
    • (2017)An Integrated Academic System Prototype Using Accidents and Crises Management as PBLInformation Technology - New Generations10.1007/978-3-319-54978-1_55(419-427)Online publication date: 18-Jul-2017
    • (2016)Why do software developers practice test-driven development?2016 International Conference on Advances in Computing and Communication Engineering (ICACCE)10.1109/ICACCE.2016.8073775(357-361)Online publication date: Nov-2016
    • (2016)Test-Driven DevelopmentEncyclopedia of Software Engineering10.1081/E-ESE-120044180(1211-1229)Online publication date: 28-Jul-2016
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media