  Curricula recommendation for undergraduate Software Engineering courses
underscore the importance of transcending from traditional lecture format to
actively involving students in time-limited, iterative development practices.
This paper presents a teaching approach for a software testing course that
integrates theory and practical experience through the utilization of both TBL
and active contributions to OSS projects. The paper reports on our experience
implementing the pedagogical approach over four consecutive semesters of a
Software Testing course within an undergraduate Software Engineering program.
The experience encompassed both online and in-person classes, involving a
substantial cohort of over 300 students spanning four semesters. Students'
perceptions regarding the course are analyzed and compared with previous,
related studies. Our results are positively aligned with the existing
literature of software engineering teaching, confirming the effectiveness of
combining TBL with OSS contributions. Additionally, our survey has shed light
on the challenges that students encounter during their first contribution to
OSS projects, highlighting the need for targeted solutions. Overall, the
experience demonstrates that the proposed pedagogical structure can effectively
facilitate the transition from theoretical knowledge to real-world practice in
the domain of Software Testing.
