Full Text Available

Note: Clicking the button above will open the full text document at the original institutional repository in a new window.

Why do software developers practice test-driven development?

This dissertation describes research that has been undertaken to understand factors influencing software developers' intention to perform test driven development (TDD). Unit tests are a form of testing, where tests are written for small units of software being developed. TDD is a practice where the...

Full description

Saved in:
Bibliographic Details
Main Author: Kayongo, Patrick
Other Authors: Chigona, Wallace
Format: Thesis
Language:English
Published: Department of Information Systems 2016
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1867613186688024576
access_status_str Open Access
author Kayongo, Patrick
author2 Chigona, Wallace
author_browse Chigona, Wallace
Kayongo, Patrick
author_facet Chigona, Wallace
Kayongo, Patrick
author_sort Kayongo, Patrick
collection Thesis
description This dissertation describes research that has been undertaken to understand factors influencing software developers' intention to perform test driven development (TDD). Unit tests are a form of testing, where tests are written for small units of software being developed. TDD is a practice where these tests are written before the functionality is written, so as to guide the design of the code for the functionality, as well as to ensure test coverage for all functionality. There has been some research conducted to understand TDD by looking at its effects on both the outcomes and the practice of software development. It has been found to increase quality by decreasing defects, while also increasing the maintainability and the changeability of the code. On the other hand, some research has also found it to increase time spent on completing tasks. Despite this, to the best of the researcher's knowledge, there hasn't been research done to understand the behavioural components of TDD, and in particular, why developers choose to practice TDD. A conceptual model based on the Theory of Planned Behaviour (TPB) is described and used as a lens to understand intention. TPB proposes that intention to perform a behaviour (TDD in this case) is influenced by three factors: attitude towards the behaviour, subjective norm, and perceived behavioural control. This dissertation seeks to build onto this model for the purpose of understanding TDD, and proposes the following determinants of the influences of intention: attitude is influenced by attitude towards time taken, differences in quality, maintainability and developer efficiency; subjective norm is influenced by the perceived perception of the environment regarding changes in quality, time taken, and maintainability of the code. Lastly, perceived behavioural control is posited to be made up of perceived difficulty of TDD, and how much experience a developer has. This model is then tested based on data collected from a n online survey distributed around the world. 779 responses were collected from developers in various countries around the world. The majority of the respondents to practice TDD, allowing us to gain greater insight into why those that practice TDD actually do so. Because the study is a psychographic study, perceptions were understood from the developers using an ordinal Likert scale. To analyse this data in order to prove the hypotheses, Chi -¬‐ square tests with contingency tables, Kruskal -¬‐ Wallis tests and ordinal logistic regression were used as statistical methods. It is found the data collected does not conform to the model, and recommendations are made for a future study to form a more comprehensive model.
format Thesis
id oai:open.uct.ac.za:11427/20417
institution University of Cape Town (South Africa)
language eng
last_indexed 2026-06-10T12:32:08.355Z
license_str Not specified — see source repository
provenance_str_mv Harvested via OAI-PMH from UCTD — University of Cape Town Open Access Repository
publishDate 2016
publishDateRange 2016
publishDateSort 2016
publisher Department of Information Systems
publisherStr Department of Information Systems
record_format dspace
source_str UCTD — University of Cape Town Open Access Repository
spelling oai:open.uct.ac.za:11427/20417 Why do software developers practice test-driven development? Kayongo, Patrick Chigona, Wallace Information Systems This dissertation describes research that has been undertaken to understand factors influencing software developers' intention to perform test driven development (TDD). Unit tests are a form of testing, where tests are written for small units of software being developed. TDD is a practice where these tests are written before the functionality is written, so as to guide the design of the code for the functionality, as well as to ensure test coverage for all functionality. There has been some research conducted to understand TDD by looking at its effects on both the outcomes and the practice of software development. It has been found to increase quality by decreasing defects, while also increasing the maintainability and the changeability of the code. On the other hand, some research has also found it to increase time spent on completing tasks. Despite this, to the best of the researcher's knowledge, there hasn't been research done to understand the behavioural components of TDD, and in particular, why developers choose to practice TDD. A conceptual model based on the Theory of Planned Behaviour (TPB) is described and used as a lens to understand intention. TPB proposes that intention to perform a behaviour (TDD in this case) is influenced by three factors: attitude towards the behaviour, subjective norm, and perceived behavioural control. This dissertation seeks to build onto this model for the purpose of understanding TDD, and proposes the following determinants of the influences of intention: attitude is influenced by attitude towards time taken, differences in quality, maintainability and developer efficiency; subjective norm is influenced by the perceived perception of the environment regarding changes in quality, time taken, and maintainability of the code. Lastly, perceived behavioural control is posited to be made up of perceived difficulty of TDD, and how much experience a developer has. This model is then tested based on data collected from a n online survey distributed around the world. 779 responses were collected from developers in various countries around the world. The majority of the respondents to practice TDD, allowing us to gain greater insight into why those that practice TDD actually do so. Because the study is a psychographic study, perceptions were understood from the developers using an ordinal Likert scale. To analyse this data in order to prove the hypotheses, Chi -¬‐ square tests with contingency tables, Kruskal -¬‐ Wallis tests and ordinal logistic regression were used as statistical methods. It is found the data collected does not conform to the model, and recommendations are made for a future study to form a more comprehensive model. 2016-07-18T12:47:56Z 2016-07-18T12:47:56Z 2016 Master Thesis Masters MCom http://hdl.handle.net/11427/20417 eng application/pdf Department of Information Systems Faculty of Commerce University of Cape Town
spellingShingle Information Systems
Kayongo, Patrick
Why do software developers practice test-driven development?
thesis_degree_str Master's
title Why do software developers practice test-driven development?
title_full Why do software developers practice test-driven development?
title_fullStr Why do software developers practice test-driven development?
title_full_unstemmed Why do software developers practice test-driven development?
title_short Why do software developers practice test-driven development?
title_sort why do software developers practice test driven development
topic Information Systems
url http://hdl.handle.net/11427/20417
work_keys_str_mv AT kayongopatrick whydosoftwaredeveloperspracticetestdrivendevelopment