Software testing is an indispensable component of software development, yet it often receives insufficient attention. The absence of a robust testing culture within computer science and informatics curricula contributes to the deficit of testing expertise within the software industry. Addressing this issue at its foundation —education— is paramount. It is therefore necessary to investigate the state of the practice in Software Testing Teaching in academic institutions.

In the context of the ENACTEST Project, a comprehensive mapping review of software testing courses, elucidating their core attributes and shedding light on prevalent subjects and instructional methodologies, has been recently executed. The ENACTEST researchers mapped the characteristics of 117 courses offered by Computer Science (and related) degrees in 49 academic institutions from four Western European countries, namely Belgium, Italy, Portugal and Spain. The testing subjects were mapped with respect to the conceptual framework provided by the ISO/IEC/IEEE 29119 standard on software testing.

Among the results, the study showed that dedicated software testing courses are offered by only 39% of the 49 analyzed universities, whereas the basics of software testing are taught in at least one course at each university. While it was noteworthy that software testing fundamentals were included in at least one course at every university (i.e., in 94% of surveyed universities), most of the existing software testing techniques are not convoyed to the majority of students and future IT professionals. This is far too limited considering that we live in a world surrounded by software whose quality could   potentially disrupt our lives.

The analysis of the software testing topics showed the gaps that need to be filled in order to better align the current academic offerings with the real industry needs. While specification-based and structure-based test Design techniques included in the ISO/IEC/IEEE 29119 Standard are taught in almost all the analyzed courses, the experience-based category of techniques is present in only 2 of the 117 considered courses.

As to the Testing Practices that are convoyed to students, our mapping study shows that only a small percentage of courses teach exploratory testing (4 out of 117 courses). Our analysis reflects that testing courses of universities are more inclined towards the analytical school, where the emphasis is on better testing through improved precision of specifications instead of the context-driven school that emphasizes exploratory testing, which promotes concurrent learning, test design, and test execution.

A final consideration concerns the Testing Types that are commonly taught. Our study revealed areas of deficiency that require attention to bring current academic offerings closer to the real needs of the industry. Some clear findings include the lack of accessibility testing, security testing, and disaster recovery testing, among others.

Our study can help academic institutions to understand the gaps in the curriculum and consider some ways to close these gaps by paying attention to the underrepresented testing topics and techniques. In addition, sharing this knowledge can encourage collaborations between researchers in the testing area who could investigate more effective solutions to improve testing education in a seamless way across courses of computer science curricula.

This study is described in the following paper that has been accepted for publication at the 17th IEEE International Conference on Software Testing, Verification and Validation (ICST 2024):

State of the Practice in Software Testing Teaching in Four European Countries”, by Porfirio Tramontana, Beatriz Marin, Ana C. R. Paiva, Alexandra Mendes, Tanja E. J. Vos, Domenico Amalfitano, Felix Cammaerts, Monique Snoeck, and Anna Rita Fasolino, to appear in IEEE Proc. Of International Conference on Software Testing, Verification and Validation, ICST 2024 that will be held in Toronto, Canada between May 27th and May 31st in 2024:

Similar Posts