Model-based Testing of Scratch Programs
Katharina G\"otz, Patric Feldmeier, Gordon Fraser

TL;DR
This paper presents a model-based testing approach for Scratch programs, using finite state machines to verify abstract behavior without relying on exact timing or graphical details, thus aiding debugging and assessment.
Contribution
It extends the Whisker framework to incorporate model-based testing with state machines, enabling automated testing of Scratch programs' behavior.
Findings
Effective abstraction of Scratch program behavior
Automatic derivation of test inputs for complex programs
Feasibility demonstrated through a practical framework
Abstract
Learners are often introduced to programming via dedicated languages such as Scratch, where block-based commands are assembled visually in order to control the interactions of graphical sprites. Automated testing of such programs is an important prerequisite for supporting debugging, providing hints, or assessing learning outcomes. However, writing tests for Scratch programs can be challenging: The game-like and randomised nature of typical Scratch programs makes it difficult to identify specific timed input sequences used to control the programs. Furthermore, precise test assertions to check the resulting program states are incompatible with the fundamental principle of creative freedom in programming in Scratch, where correct program behaviour may be implemented with deviations in the graphical appearance or timing of the program. The event-driven and actor-oriented nature of Scratch…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Teaching and Learning Programming
