Lectures on Software Testing Complementing CS 3240; The Significance of Software Testing and Its Presence in the Real World
Santos, Joshua, School of Engineering and Applied Science, University of Virginia
JACQUES, RICHARD, EN-Engineering and Society, University of Virginia
Elbaum, Sebastian, EN-Comp Science Dept, University of Virginia
From experience, software testing is usually not given the attention to detail it deserves; students I’ve interacted with do not seem to take software testing seriously enough or simply view it with contempt, likely due to the tedium involved in software testing. In the real world, both universities and software companies seem to not treat software testing to the same level as actual development, as demonstrated by studies such as those performed by Anna Halvickova; the significance of software testing can be emphasized starting in the classroom where undergraduates are taught, which is why I attempted to create short video lectures concerning software testing.
In my STS research, I looked at a study by Anna Halvickova that communicated how Czech software companies and engineering universities were not well equipped to both teach and aid undergraduate students and software employees in the field of software testing. When Halvickova interviewed several Czech software universities; she discovered that while some universities accommodated aid for software testing more than others, they all lacked in at least one department in that regard. This can be somewhat reflected in her survey results with software company employees, where a majority of respondents said that they primarily learned software testing information from the internet and colleagues rather than traditional teaching methods such as from textbooks or university classes; a majority of respondents also tended to demonstrate that they didn’t properly know the definition of software testing, showing a lack of fundamental knowledge. In addition, at least a third of the respondents seemed to show disdain for their respective company’s insufficient software testing. This was also linked to some software companies both allocating only a small portion of their budget to software testing and starting the testing process well after the start of development, which is not ideal due to mistakes having a higher amending cost the more time is taken to fix them. While this study only concretely applies to Czech companies and universities, this scenario can easily happen anywhere and should be addressed sooner rather than later.
The technical portion of my project was centered around looking at potential teaching material for connecting software testing (CS 3250 at UVA) to the main computer science curriculum of UVA (specifically CS 3240). I compiled one week’s worth of teaching material; the topics I covered included the basics of software testing (specifically checking for output failures of software and tracing them back to a fault within the source code), the cycle of test-driven development, and one type of developing software tests in coverage criteria and input space partitioning. This material was then presented via three short video lectures.
I have learned a lot in performing my technical project and STS research. Admittedly, creating short video lectures for teaching was not an easy task; I learned that both motivation and passion are key in performing projects such as these, and I hope that my project will serve as a starting point for future educators to branch from. There is potential in emphasizing this material to students, and it would leave them better prepared to enter the workforce of computer science. Universities can both improve their education of general software testing as well as testing among specific classes or fields such as databases and operating systems, and software companies can create better documentation and learning material for the testing of their specific software.
BS (Bachelor of Science)
School of Engineering and Applied Science
Bachelor of Science in [Insert Major] [Include only first major on transcripts]
Technical Advisor: Sebastian Elbaum
STS Advisor: Richard Jacques