Testing and test-writing are key skills for software engineers. Yet most CS curricula spend insufficient time on testing, and some studies have even found that graduating CS students enter developer jobs without these skills. We argue that test writing is a programming pattern that, at least when going beyond simple input/output test cases, is new and unfamiliar to most students, so that teaching test-writing requires not only teaching the strategic concepts of thinking about testing, but also how to instantiate the "arrange - act - assert"pattern of which all tests consist. Teaching how to recognize and instantiate this pattern is complicated by having to learn how to use testing frameworks and libraries - -essentially a syntactic obstacle. Faded Parsons Problems (FPPs) have been shown to be a novel and effective type of exercise for exposing students to programming patterns by varying the amount of scaffolding provided. FPPs give similar learning gains to code-writing exercises but are preferred by students, and can be designed to "scaffold away'' some syntactic obstacles that can impede students' ability to become fluent in test-writing. To our knowledge, neither FPPs nor the original Parsons Problems have previously been proposed to teach advanced programming patterns to advanced students. We present our design of a system for creating variably-scaffolded test-writing exercises in the form of FPPs, including autograding tests using existing autograding solutions augmented with techniques from mutation testing.
CITATION STYLE
Lojo, N., & Fox, A. (2022). Teaching Test-Writing As a Variably-Scaffolded Programming Pattern. In Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE (Vol. 1, pp. 498–504). Association for Computing Machinery. https://doi.org/10.1145/3502718.3524789
Mendeley helps you to discover research relevant for your work.