Abstract
This paper investigates the effects of test driven development in the academic environment by conducting a case study with eight students who were assigned to implement a simple application either with test driven approach or with traditional approach. The results of the case study showed that the first group of students completed their tasks faster and with higher quality than the second group. The programs written by the first group pass relatively more test cases than those developed by the second group. The first group of programmers also wrote cleaner code with higher cohesion by creating more reasonable number of methods. Therefore, test-driven approach could be used in the academic environment such as assignments and projects.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Sammy Corporation (2006), http://www.sammy.co.jp/english/index.html
Beck, K.: Extreme Programming Explained, Maassachusettes. Addison-Wesley, Reading (2000)
Beck, K.: Test-Driving development: by Example. Addison Wesley, Reading (2003)
Canfora, G., Cimitile, A., Visaggio, C.: Working in pairs as a means for design knowledge building: an empirical study. In: Proceedings of International Workshop on Program Comprehension, Bari, Italy, June 24-26, 2004, pp. 62–69 (2004)
Coad, P., LeFebrve, E., Luca, J.: Feature-driven development. In: Java Modeling in Color with UML. Prentice Hall, Englewood Cliffs (1999)
Cockburn, A., Williams, L.: The costs and benefits of pair programming. In: Proceedings of Extreme Programming and Flexible Processes in Software Engineering, Cagliari, Italy, June 21-23, 2000, pp. 223–243 (2000)
Coyoto Development (2006), http://www.coyotedev.freeserve.co.uk/
Erdogmus, H., Morisio, M., Torchiano, M.: On the effectiveness of the Test-First Approach to Programming. IEEE Transactions in Software Engineering 31(3), 226–237 (2005)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
George, B., Williams, L.: An initial investigation of test driven development in industry. In: Proceedings of the 2003 ACM Symposium on Applied Computing, Melbourne, Florida, pp. 1135–1139 (2003)
Hamill, P.: Unit Test Frameworks. O’Reilly, Sebastopol (2004)
Janzen, D., Saiedian, H.: Test-driven learning in early programming courses. In: Proceedings of the 39th SIGCSE technical symposium on Computer science education, Portland, USA, March 12-15, 2008, pp. 532–536 (2008)
Llopis, N.: Games from within: GDC 2004: Software Engineering Roundtable Summary (2004), http://www.gamesfromwithin.com/articles/0403/000015.html
Llopis, N.: Stepping Through the Looking Glass: Test-Driven Game Development (2005), http://www.gamesfromwithin.com/articles/0502/000073.html
Microsoft, Microsoft Producer for Microsoft Office Powerpoint (2003), http://www.microsoft.com/windows/windowsmedia/technologies/producer.aspx
Muller, M.M., Hagner, O.: Experiment about test-first programming. In: IEE Proceedings Software, 149th edn., October 2002, pp. 131–136 (2002)
Nagappan, E.N., Maximilien, M., Bhat, T., Williams, L.: Realizing quality improvement through test driven development: results and experiences of four industrial teams. Empirical Software Engineering 13(3), 289–302 (2008)
Nosek, J.T.: The case for collaborative programming. Communications of the ACM 41(3), 105–108 (1998)
Pancur, M., Ciglaric, M., Trampus, M., Vidmar, T.: Towards empirical evaluation of test-driven development in a university environment. In: The IEEE Region presented at EUROCON 2003. Computer as a Tool, vol. 8 (2003)
Schwaber, K., Beedle, M.: Agile Software Development with SCRUM. Prentice Hall, Englewood Cliffs (2001)
Srikanth, H., Williams, J.G., Wiebe, E., Miller, C., Balik, S.: On pair rotation in the computer science course. In: Proceedings of the 17th Conference on Software Engineering Education and Training, Norfolk, Virginia, March 1-3, 2004, pp. 144–149 (2004)
Vu, J.H., Frojd, N., Shenkel-Therolf, C., Janzen, D.: Evaluating Test-Driven Development in an Industry-Sponsored Capstone Project. In: Proceedings of Sixth International Conference on Information Technology: New Generations, pp. 229–234 (2009)
Williams, L., Kessler, R., Cuningham, W., Jeffries, R.: Strengthening the case for pair-programming. IEEE Software, 19–25 (July/August 2000)
Xu, S., Rajlich, V.: Dialog-based protocol: an empirical research method for cognitive activity in software engineering. In: Proceedings of the 4th ACM/IEEE International Symposium on Empirical Software Engineering, Noosa Heads, Queensland, November 17-18, 2005, pp. 397–406 (2005)
Xu, S., Cui, Z., Chen, X.: Programmer’s Expertise during Test-Driven Software Development. In:Proceedings of 6th IEEE International Conference on Cognitive Informatics (ICCI 2007), Lake Tahole, California, USA, August 6-8, 2007, pp. 456–461 (2007)
Xu, S., Rajlich, V., Marcus, A.: An Empirical Study of Programmer Learning during Incremental Software Development. In: Proceedings of the 4th IEEE International Conference on Cognitive Informatics (ICCI 2005), Irvine, California, August 8-10, pp. 340–349 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Xu, S., Li, T. (2009). Evaluation of Test-Driven Development: An Academic Case Study. In: Lee, R., Ishii, N. (eds) Software Engineering Research, Management and Applications 2009. Studies in Computational Intelligence, vol 253. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05441-9_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-05441-9_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-05440-2
Online ISBN: 978-3-642-05441-9
eBook Packages: EngineeringEngineering (R0)