Title
Testing scratch programs automatically.
Abstract
Block-based programming environments like Scratch foster engagement with computer programming and are used by millions of young learners. Scratch allows learners to quickly create entertaining programs and games, while eliminating syntactical program errors that could interfere with progress. However, functional programming errors may still lead to incorrect programs, and learners and their teachers need to identify and understand these errors. This is currently an entirely manual process. In this paper, we introduce a formal testing framework that describes the problem of Scratch testing in detail. We instantiate this formal framework with the Whisker tool, which provides automated and property-based testing functionality for Scratch programs. Empirical evaluation on real student and teacher programs demonstrates that Whisker can successfully test Scratch programs, and automatically achieves an average of 95.25 % code coverage. Although well-known testing problems such as test flakiness also exist in the scenario of Scratch testing, we show that automated and property-based testing can accurately reproduce and replace the manually and laboriously produced grading efforts of a teacher, and opens up new possibilities to support learners of programming in their struggles.
Year
DOI
Venue
2019
10.1145/3338906.3338910
ESEC/SIGSOFT FSE
Keywords
Field
DocType
Automated Testing,Scratch,Education,Property-based Testing
Scratch,Software engineering,Computer science,Theoretical computer science
Conference
ISBN
Citations 
PageRank 
978-1-4503-5572-8
1
0.36
References 
Authors
0
3
Name
Order
Citations
PageRank
Andreas Stahlbauer1394.47
Marvin Kreis210.36
Gordon Fraser32625116.22