Raphael Pham, Stephan Kiesling, Olga Liskin, Leif Singer, Kurt Schneider:
There are many different approaches to testing software, with different benefits for software quality and the development process. Yet, it is not well understood what developers struggle with when getting started with testing--and why some do not test at all or not as much as would be good for their project. This missing understanding keeps us from improving processes and tools to help novices adopt proper testing practices. We conducted a qualitative study with 97 computer science students. Through interviews, we explored their experiences and attitudes regarding testing in a collaborative software project lasting four months. In our study, we found enabling and inhibiting factors for testing activities, the different testing strategies they used, and novices' perceptions and attitudes of testing. We found that students push test automation to the end of the project, thus robbing themselves from the advantages of having a test suite during implementation. Students were not convinced of the return of investment in automated tests and opted for laborious manual tests--which they often regretted in the end. Understanding such challenges and opportunities novices face when confronted with adopting testing can help us improve testing processes, company policies, and tools. Our findings provide recommendations that can enable organizations to facilitate the adoption of testing practices by their members.
»Enablers, Inhibitors, and Perceptions of Testing in Novice Software Teams«