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 Stahlbauer | 1 | 39 | 4.47 |
Marvin Kreis | 2 | 1 | 0.36 |
Gordon Fraser | 3 | 2625 | 116.22 |