A Block-Based Testing Framework for Scratch
Patric Feldmeier, Gordon Fraser, Ute Heuer, Florian Oberm\"uller,, Siegfried Steckenbiller

TL;DR
This paper introduces a new block-based testing framework for Scratch that enables automated testing of student programs, facilitating easier feedback and assessment for teachers and learners.
Contribution
The paper presents a novel set of Scratch blocks for automated testing and an extended interface, improving testing efficiency and feedback in block-based programming environments.
Findings
Teachers achieved 93% accuracy in test creation compared to manual evaluation.
Teachers found the block-based testing approach useful.
The framework supports batch processing of student solutions.
Abstract
Block-based programming environments like Scratch are widely used in introductory programming courses. They facilitate learning pivotal programming concepts by eliminating syntactical errors, but logical errors that break the desired program behaviour are nevertheless possible. Finding such errors requires testing, i.e., running the program and checking its behaviour. In many programming environments, this step can be automated by providing executable tests as code; in Scratch, testing can only be done manually by invoking events through user input and observing the rendered stage. While this is arguably sufficient for learners, the lack of automated testing may be inhibitive for teachers wishing to provide feedback on their students' solutions. In order to address this issue, we introduce a new category of blocks in Scratch that enables the creation of automated tests. With these…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · VLSI and Analog Circuit Testing · Embedded Systems Design Techniques
