Software testing is crucial for ensuring software quality, yet developers' engagement with it varies widely. Identifying the technical, organizational and social factors that lead to differences in engagement is required to remove barriers and utilize enablers for testing. While much research emphasizes the usefulness of testing strategies and technical solutions, less is known about why developers do (not) test. This study investigates the lived experience of software developers to illuminate how their opinions about testing change. Learning about personal evolutions of practice, we explore when and why testing is used. Employing socio-technical grounded theory (STGT), we construct a theory by systematically analyzing data from 19 in-depth, semi-structured interviews with software developers. Allowing interviewees to reflect on how and why they approach software testing, we explore perspectives that are rooted in their contextual experiences. We develop eleven categories of circumstances that act as conditions for the application and adaptation of testing practices and introduce three concepts that we then use to present our theory of emerging testing strategies (ETS) that explains why developers do (not) use testing practices. This study reveals a new perspective on the connection between testing artifacts and collective reflection of practitioners, and it embraces testing as an experience in which human- and social aspects are entangled with organizational and technical circumstances.
翻译:软件测试对于确保软件质量至关重要,但开发人员对其参与度差异巨大。识别导致参与度差异的技术、组织和社会因素,是消除测试障碍和利用测试促进因素的必要条件。尽管大量研究强调测试策略和技术解决方案的实用性,但关于开发人员为何(不)进行测试的原因却知之甚少。本研究调查了软件开发人员的亲身经历,以阐明他们对测试的看法如何变化。通过了解实践的个人演变,我们探讨了测试在何时以及为何被使用。采用社会-技术扎根理论(STGT),我们通过系统分析对19位软件开发人员进行的深度半结构化访谈数据,构建了一个理论。通过让受访者反思他们如何以及为何进行软件测试,我们探索了植根于其情境经验的视角。我们提出了作为测试实践应用和适应条件的十一类情境,并引入了三个概念,随后用它们来阐述我们关于新兴测试策略(ETS)的理论,该理论解释了开发人员为何(不)使用测试实践。本研究揭示了一个关于测试制品与从业者集体反思之间联系的新视角,并将测试视为一种体验,其中人的和社会方面的因素与组织和技术的环境相互交织。