Challenges to integrate software testing into introductory programming courses - Scatalon, Lilian Passos (2017)
Several studies suggest that the teaching of software testing should begin as early as possible, since introductory programming courses. In this way, the teaching of both subjects, programming and testing, becomes an integrated teaching approach. Testing practices in this context can provide a timely feedback to students while they are still working on programming assignments and, as a result, increase the quality of their code. Besides, developing students' testing skills earlier is useful to improve their programming skills as well, since both kinds of skills are complementary. However, this integration is not straightforward, because lecture hours and the coverage of programming topics must remain the same, while testing concepts and practices are introduced. For this reason, when designing an educational approach to introduce testing practices to novice programmers, there is also the need to address potential difficulties faced by both students and instructors. Considering this scenario, this paper aims at identifying the challenges raised due to the integration of software testing into introductory programming courses. The goal is to provide support for instructors who intend to adopt the integrated approach. The challenges have been identified from the results of a systematic mapping we conducted of the literature in this domain. The main contribution of this paper refers to the establishment of a catalog of challenges faced to integrate software testing into introductory programming courses. We also discuss possible solutions to design courses using the integrated approach and point out challenges that have been scarcely addressed in the literature. Finally, we indicate directions that can be explored in future educational empirical studies in this context.