Developers' Initial Perceptions on TDD Practice: A Thematic Analysis with Distinct Domains and Languages

Test-Driven Development (TDD) is one of the most popular agile practices among software developers. To investigate the software developers’ initial perceptions when applying TDD, we have performed an exploratory study. This study was carried out with participants who had about ten years of professional experience (on average), the majority of whom with no experience using TDD. The study is in the context of an agile project course at the postgraduate level of a research institute. Participants individually developed medium size projects addressed to different domains and using different programming languages. Through a structured questionnaire with open and semi-open questions, we collected information on TDD effects such as the perceived benefits, encountered difficulties, and developer’s opinion about the quality improvement of the software. Afterward, we conducted a thematic analysis of the qualitative data. Most participants noticed improvements in code quality, but few have a more comprehensive view of the effects of TDD on software design. Our findings suggest that after overcoming the initial difficulties to understand where to start, and know how to create a test for a feature that does not yet exist, participants gain greater confidence to implement new features and make changes due to broad test coverage.

[1]  Forrest Shull,et al.  What Do We Know about Test-Driven Development? , 2010, IEEE Software.

[2]  John Huan Vu,et al.  Evaluating Test-Driven Development in an Industry-Sponsored Capstone Project , 2009, 2009 Sixth International Conference on Information Technology: New Generations.

[3]  David Batic,et al.  The effectiveness of test-driven development: an industrial case study , 2011, Software Quality Journal.

[4]  V. Braun,et al.  Teaching thematic analysis: Overcoming challenges and developing strategies for effective learning , 2013 .

[5]  David S. Janzen,et al.  A survey of evidence for test-driven development in academia , 2008, SGCS.

[6]  Frank Maurer,et al.  FitClipse: A Fit-Based Eclipse Plug-In for Executable Acceptance Test Driven Development , 2007, XP.

[7]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[8]  Richard E. Boyatzis,et al.  Transforming Qualitative Information: Thematic Analysis and Code Development , 1998 .

[9]  Steve Freeman,et al.  Mock roles, objects , 2004, OOPSLA '04.

[10]  Pankaj Jalote,et al.  An Experimental Evaluation of the Effectiveness and Efficiency of the Test Driven Development , 2007, ESEM 2007.

[11]  Mojca Ciglaric,et al.  Impact of test-driven development on productivity, code and tests: A controlled experiment , 2011, Inf. Softw. Technol..

[12]  Eduardo Guerra,et al.  Achieving quality on software design through test-driven development , 2016 .

[13]  Boby George,et al.  A structured experiment of test-driven development , 2004, Inf. Softw. Technol..

[14]  Giuseppe Scanniello,et al.  Results from an Ethnographically-informed Study in the Context of Test Driven Development , 2016 .

[15]  Natalia Juristo Juzgado,et al.  A Dissection of the Test-Driven Development Process: Does It Really Matter to Test-First or to Test-Last? , 2016, IEEE Transactions on Software Engineering.

[16]  Natalia Juristo Juzgado,et al.  Students' and professionals' perceptions of test-driven development: a focus group study , 2016, SAC.

[17]  Hossein Saiedian,et al.  A Leveled Examination of Test-Driven Development Acceptance , 2007, 29th International Conference on Software Engineering (ICSE'07).

[18]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[19]  Lisa Crispin,et al.  Driving Software Quality: How Test-Driven Development Impacts Software Quality , 2006, IEEE Software.

[20]  Grigori Melnik,et al.  Guest Editors' Introduction: TDD--The Art of Fearless Programming , 2007, IEEE Software.

[21]  Mauricio Finavaro Aniche,et al.  Does test-driven development improve class design? A qualitative study on developers’ perceptions , 2015, Journal of the Brazilian Computer Society.

[22]  Liang Huang,et al.  Empirical investigation towards the effectiveness of Test First programming , 2009, Inf. Softw. Technol..