Introducing test-driven development in web and mobile development teams: methods and effects - Vainiotalo, Petteri (My University, 2023)
Keeping up with constantly changing requirements has become a necessity in the field of software development. Web and mobile applications are especially relevant here, as they are widespread to large amounts of everyday users. Maintaining these applications require means of keeping them up to date while preventing regressions. Software testing in its various forms on different levels is the fundamental way to achieve this. Still, the need to continuously deliver new updates and features can cause testing to become neglected and detached from the development process. One way to address this is to introduce a test-first approach to the development process, namely test-driven development. It encourages writing tests before writing code, ensuring that tests exist while promoting testability. The research presented in this thesis focuses on the opinions and experiences of developers who are a part of a development team working on a web and mobile applicaton. A process of transitioning from a more traditional test-last approach to test-driven development was started for the team. The purpose of this was to find out what obstacles developers face when using a new method, what emotions they experience, what they think about test-driven development and its applicability in practice, and how well they adopt it. The results demonstrated what factors contribute to a successful transition to test-driven development, as well as the team-wide adoption of development methods in general. Applying suggestions made in previous studies to the setting in the team made the transition possible, and the introduction of the method had a mostly positive and unifying effect on existing testing practices.
Keywords: test-driven development, development methods, testing methods