The increased ubiquity of software has resulted in the need for more software engineers to service all aspects of the software development life cycle, including maintaining software quality. In 2018, It is estimated that the poor quality of software in the US cost approximately $2.26 trillion. Software testing continues to be one of the main approaches used to validate software as software systems become more complex. Although there is increased testing of software in industry throughout the development life cycle, academic institutions continue to lag behind in offering the number of software testing courses to adequately prepare students for jobs in industry. In addition, educational institutions continue to grapple with how best to integrate software testing in their curricula. This paper presents the experiences of teaching an undergraduate software testing course over four non-consecutive years, focusing mainly on the class project. The semester-long project consists of several deliverables and is a major component of the testing course. Over the four years, different approaches were used to implement the project activities. The approaches used for the group projects include (a) testing different capstone projects that are sponsored by local companies, (b) all student teams testing a single project that is being developed during the semester, and (c) testing a single project that has been previously developed. A detailed description of the testing course is presented, and the dependencies with other classes in the curriculum are explained. Specific details of the different approaches for the class projects are presented, such as, the structure of the deliverables and how they were assessed. Project data for each semester is also presented and includes class enrollments, number of project teams, types of project, and level of complexity. Data on the tools used to develop and test the projects are also described. Testing each type of project presented a variety of advantages and challenges for students and the instructor. Some of the challenges include access to appropriate software testing tools, not meeting the coverage requirements when testing the project, assessing the large variety of group projects sponsored by local companies, and technical support for the testing tools. Based on the experience of teaching the course with different types of group projects, we present lessons learned and recommendations for future editions of the course. Some of our recommendations are consistent with other experience reports described in the literature.
No takes yet. Share an insight, caveat, or question.
Buckley et al. (2024) studied this question.
Synapse has enriched 2 closely related papers on similar clinical questions. Consider them for comparative context: