A safety-aware, systems-based approach to teaching software testing

Natalia Silvis-Cividjian*

*Corresponding author for this work

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

51 Downloads (Pure)

Abstract

Although no one doubts that ubiquitous software should be tested thoroughly, a dedicated course on software testing (ST) does not commonly feature in most CS curricula. Even when this is the case, existing courses often fail to offer a real-world testing experience, essential for a successful software engineering career. In our opinion, the main underlying reasons are twofold. First, abstracting software from its socio-technical system context, creates the false impression that ST “equals” unit testing based on functional requirements. Second, practicing on small, anonymously pre-engineered artifacts, conveys a detached and truncated view of the whole testing process. This paper describes an original approach to teach ST that addresses these two limitations by adopting a system engineering paradigm, with an additional strong emphasis on safety. Targeting CS graduates, the course consists of two modules. In the core module, students build fundamental testing knowledge in a software engineering context, and put this knowledge to work in both roles of developer and tester. In the project module, students get hands-on experience in engineering, and in particular testing, of microcontroller-based, safety-critical systems. Software risk and test experts from industry are actively involved in both modules, for advising, guest lectures and project steering. Enthusiastic students’ evaluations throughout years demonstrate that cultivating safety- and hardware-awareness, although unusual for CS programs at non-engineering universities, creates a unique testing experience, while revealing remarkable technical and psychological tradeoffs. All this brings more realism, and contributes to a meaningful and efficient learning in ST classrooms.

Original languageEnglish
Title of host publicationITiCSE 2018
Subtitle of host publicationProceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education
PublisherAssociation for Computing Machinery
Pages314-319
Number of pages6
ISBN (Electronic)9781450357074
DOIs
Publication statusPublished - Jul 2018
Event23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2018 - Larnaca, Cyprus
Duration: 2 Jul 20184 Jul 2018

Publication series

NameAnnual Conference on Innovation and Technology in Computer Science Education (ITiCSE)
PublisherACM
ISSN (Print)1942-647X

Conference

Conference23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2018
Country/TerritoryCyprus
CityLarnaca
Period2/07/184/07/18

Fingerprint

Dive into the research topics of 'A safety-aware, systems-based approach to teaching software testing'. Together they form a unique fingerprint.

Cite this