Abstract
Usage of test-driven development (TDD) is said to lead to better testable programs. However, no study answers either the question how this better testability can be measured nor whether the feature of better testability exists. To answer both questions we present the concept of the controllability of assignments. We studied this metric on various TDD and conventional projects. Assignment controllability seems to support the rules of thumb for testable code, e.g. small classes with low coupling are better testable than large classes with high coupling. And as opposed to the Chidamber and Kemerer metric suite for object-oriented design, controllability of assignments seems to be an indicator whether a project was developed with TDD or not.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Müller, M., Hagner, O.: Experiment about test-first programming. IEE Proceedings Software 149(5), 131–136 (2002)
Pancur, M., Ciglaric, M., Trampus, M., Vidmar, T.: Towards empirical evaluation of test-driven development in a university environment. In: EUROCON 2003. Computer as a Tool. The IEEE Region 8, vol. 2, pp. 83–86 (2003)
George, B., Williams, L.: An initial investigation of test driven development in industry. In: ACM symposium on Applied computing, Melbourne, Florida, USA, pp. 1135–1139 (2003)
Geras, A., Smith, M., Miller, J.: A prototype empirical evaluation of test driven development. In: International Symposium on Software Metrics (Metrics), Chicago, Illinois, USA, pp. 405–416 (2004)
Erdogmus, H., Morisio, M., Torchiano, M.: On the effectiveness of the test-first approach to programming. IEEE Transactions on Software Engineering 31(3), 226–237 (2005)
Beck, K.: Aim, fire. IEEE Software 18(5), 87–89 (2001)
Binder, R.: Design for testability in object-oriented systems. Communications of the ACM 37(9), 87–101 (1994)
Chidamber, S., Kemerer, C.: A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)
Abramovici, M., Breuer, M., Friedman, A.: Digital Systems Testing and Testable Design. Computer Science Press, Rockville (1990)
Apache: Byte code engineering library (BCEL), http://jakarta.apache.org/bcel/index.html
Canoo: Webtest, http://webtest.canoo.com
Apache: Ant, http://ant.apache.org/
Apache: Log4j, http://logging.apache.org/
Hollander, M., Wolfe, D.: Noparametric Statistical Methods, 2nd edn. John Wiley & Sons, Chichester (1999)
Kleinbaum, D.: Logistic regression: a self-learning text. Springer, Heidelberg (1994)
Wilson, D.: Teaching xp: A case study. In: XP Universe, Raleigh, NC, USA (2001)
Müller, M., Link, J., Sand, R., Malpohl, G.: Extreme programming in curriculum: Experiences from academia and industry. In: Eckstein, J., Baumeister, H. (eds.) XP 2004. LNCS, vol. 3092, pp. 294–302. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Müller, M.M. (2006). The Effect of Test-Driven Development on Program Code. In: Abrahamsson, P., Marchesi, M., Succi, G. (eds) Extreme Programming and Agile Processes in Software Engineering. XP 2006. Lecture Notes in Computer Science, vol 4044. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11774129_10
Download citation
DOI: https://doi.org/10.1007/11774129_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35094-1
Online ISBN: 978-3-540-35095-8
eBook Packages: Computer ScienceComputer Science (R0)