Abstract
Testing is an essential part of an agile process as test is automated and tends to take the role of specifications in place of documents. However, whenever test cases are faulty, developers’ time might be wasted to fix problems that do not actually originate in the production code. Because of their relevance in agile processes, we posit that the quality of test cases can be assured through software inspections as a complement to the informal review activity which occurs in pair programming. Inspections can thus help the identification of what might be wrong in test code and where refactoring is needed. In this paper, we report on a preliminary empirical study where we examine the effect of conducting software inspections on automated test code. First results show that software inspections can improve the quality of test code, especially the repeatability attribute. The benefit of software inspections also apply when automated unit tests are created by developers working in pair programming mode.
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
Ambler, S.W.: When Does(n’t) Agile Modeling Make Sense? http://www.agilemodeling.com/essays/whenDoesAMWork.htm
Beck, K.: Test Driven Development: By Example. Addison-Wesley, New York, NY, USA (2002)
Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, New York, NY, USA (2000)
Boehm, B., Turner, R.: Balancing Agility and Discipline: A Guide for the Perplexed. Addison-Wesley, New York, NY, USA (2003)
Erdogmus, H., Morisio, M., Torchiano, M.: On the Effectiveness of the Test-First Approach to Programming. In: IEEE Transactions on Software Engineering, vol. 31(3), pp. 226–237. IEEE Computer Society Press, Los Alamitos, CA, USA (2005)
Fagan, M.E.: Design and Code Inspections to Reduce Errors in Program Development. IBM Systems Journal 15(3), 182–211 (1976)
Fowler, M.: Refactoring. Improving the Design of Existing Code. Addison-Wesley, New York, NY, USA (1999)
Laitenberger, O., DeBaud, J.M.: An encompassing life cycle centric survey of software inspection. The Journal of Systems and Software 50(1), 5–31 (2000)
Lanubile, F., Mallardo, T., Calefato, F.: Tool Support for Geographically Dispersed Inspection Teams. In: Software Process: Improvement and Practice, vol. 8(4), pp. 217–231. Wiley InterScience, New York (2003)
Maximilien, E.M., Williams, L.: Assessing Test-Driven Development at IBM. In: Proceedings of the International Conference on Software Engineering (ICSE’03), pp. 564–569 (2003)
Meszaros, G.: XUnit Test Patterns: Refactoring Test Code. Addison Wesley, New York, NY, USA (to appear in 2007) Also available online at http://xunitpatterns.com/
Meszaros, G., Smith, S.M., Andrea, J.: The Test Automation Manifesto. In: Maurer, F., Wells, D. (eds.) XP/Agile Universe 2003. LNCS, vol. 2753, pp. 73–81. Springer, Heidelberg (2003)
Muller, M.M., Tichy, W.E.: Case Study: Extreme Programming in a University Environment. In: Proceedings of the International Conference on Software Engineering (ICSE’01), pp. 537–544 (2001)
Muller, M.M., Hagner, O.: Experiment about Test-First Programming. In: Proceedings of the International Conference on Empirical Assessment in Software Engineering (EASE’02), pp. 131–136 (2002)
Muller, M.M.: Two controlled experiments concerning the comparison of pair programming to peer review. The Journal of Systems and Software 78(2), 166–179 (2005)
Nunit Development Team: Two, M.C., Poole, C., Cansdale, J., Feldman, G.: http://www.nunit.org
Paulk, M.: Extreme Programming from a CMM Perspective. IEEE Software 18(6), 19–26 (2001)
Rakitin, S.: Letters: Manifesto Elicits Cynicism. IEEE Computer 34(12), 4, 6–7 (2001)
Reifer, D.J., Maurer, F., Erdogmus, H.: Scaling Agile Methods. IEEE Software 20(4), 12–14 (2003)
Tomayko, J.: A Comparison of Pair Programming to Inspections for Software Defect Reduction. Computer Science Education 12(3), 213–222 (2002)
Williams, L., Kessler, R.R.: Pair Programming Illuminated. Addison-Wesley, New York, NY, USA (2002)
Williams, L., Kessler, R.R., Cunningham, W., Jeffries, R.: Strengthening the Case for Pair Programming. IEEE Software 17(4), 19–25 (2000)
van Deursen, A., Moonen, L., van den Bergh, A., Kok, G.: Refactoring Test Code. In: Proceedings of the 2nd International Conference on eXtreme Programming and Agile Processes in Software Engineering (XP’01) (2001)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Lanubile, F., Mallardo, T. (2007). Inspecting Automated Test Code: A Preliminary Study. In: Concas, G., Damiani, E., Scotto, M., Succi, G. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2007. Lecture Notes in Computer Science, vol 4536. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73101-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-540-73101-6_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73100-9
Online ISBN: 978-3-540-73101-6
eBook Packages: Computer ScienceComputer Science (R0)