EVALUATION OF TEST-DRIVEN DEVELOPMENT - An Industrial Case Study
Hans Wasmus, Hans-Gerhard Gross
2007
Abstract
Test-driven development is a novel software development practice and part of the Extreme Programming paradigm. It is based on the principle that tests should be designed and written for a module iteratively, while the code of the module is devised. This is the opposite of what is usual in current software development methods in which testing is often an afterthought, rather than a primary driving factor of design. Once applied systematically and continuously, test-driven development is supposed to incorporate requirements changes easier, lead to superior technical solutions in software, result in better and cleaner code, and motivate all stakeholders. We present a development project carried out in a company in which we put those claims to a test. We found that, indeed, some of the claims are valid, but we can also report difficulties with applying the test-driven development approach.
References
- Beck, K. (2005). Addison-Wesley.
- Beck, K. (2004). Test-Driven Development . AddisonWesley.
- Chaplin, D. (2001). Test first programming. TechZone.
- Constantine, L. (2001). Methodological agility. Software Development, pages 67-69.
- George, B. and Williams, L. (2003). An initial investigation of test driven development in industry. In Proc. of the 2003 ACM Symposium on Applied Computing, pages 1135-1139, Melbourne, Florida, USA.
- George, B. and Williams, L. (2004). A structured experiment of testdriven development. Information and Software Technology, 46(5):337-342.
- Geras, A., Smith, M., and Miller, J. (2004). A prototype empirical evaluation of test driven development. In Proceedings of the 10th International Symposium on Software Metrics, pages 405-416.
- Janzen, D. and Saiedian, H. (2005). Test-driven development concepts, taxonomy, and future direction. Computer, 38(9):43-50.
- Jeffries, R., Anderson, A., and Hendrickson, C. (2000). Extreme Programming Installed. Addison-Wesley.
- Maximilien, E. and Williams, L. (2003). Assessing testdriven development at ibm. In Proc. of the 25th Intl Conference on Software Engineering, pages 564-569, Portland, Oregon, USA.
- McCabe, T. (1976). A complexity measure. IEEE Transactions on Software Engineering, 2(4):308-320.
- Müller, M. and Hagner, O. (2002). Experiment about test-first programming. IEE Proceedings Software, 149(5):131-136.
- NDepend (2007). .net code analyzer. www.ndepend.com.
- Pancur, M., Ciglaric, M., M., T., and Vidmar, T. (2003). Towards empirical evaluation of test-driven development in a university environment. In EUROCON 2003, Computer as a Tool, The IEEE Region 8, volume 2, pages 83-86.
- Shepperd, M. (1988). A critique of cyclomatic complexity as a software metric. Software Engineering Journal, 3(2):30-36.
- van Deursen, A. (2001). Program comprehension risks and opportunities in extreme programming. In Proceedings of the Eight Working Conference on Reverse Engineering (WCRE'01), pages 176-185.
- Williams, L., Maximilien, E., and Vouk, M. (2003). Testdriven development as a defect-reduction practice. In Proc. of the 14th Intl Symposium on Software Reliability Engineering, pages 34-48, Washington, DC, USA.
Paper Citation
in Harvard Style
Wasmus H. and Gross H. (2007). EVALUATION OF TEST-DRIVEN DEVELOPMENT - An Industrial Case Study . In Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8111-10-4, pages 103-110. DOI: 10.5220/0002584401030110
in Bibtex Style
@conference{enase07,
author={Hans Wasmus and Hans-Gerhard Gross},
title={EVALUATION OF TEST-DRIVEN DEVELOPMENT - An Industrial Case Study},
booktitle={Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2007},
pages={103-110},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002584401030110},
isbn={978-989-8111-10-4},
}
in EndNote Style
TY - CONF
JO - Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - EVALUATION OF TEST-DRIVEN DEVELOPMENT - An Industrial Case Study
SN - 978-989-8111-10-4
AU - Wasmus H.
AU - Gross H.
PY - 2007
SP - 103
EP - 110
DO - 10.5220/0002584401030110