ABSTRACT
Scratch allows programmers to create interactive stories, games, and animations using coding blocks rather than traditional textual programming languages. Scratch provides an intuitive, blocks-based interface that makes it easy for beginners to create programs. As Scratch programs become more complicated, there is a higher potential for programming mistakes to emerge. Scratch programmers often encounter sprite behavior, event sequencing, and data handling issues. A testing extension can serve as a valuable addition to the Scratch environment, assisting users in identifying and resolving such errors. This paper introduces the concept of a software testing extension in Scratch that includes an assert block. This short paper provides a detailed motivation for the need to support testing in Scratch through an example that demonstrates how the proposed testing extension can be used. The Scratch extension can help students identify errors within their program and facilitate a valuable learning process through a test-driven focus.
- Pekka Aho, Matias Suarez, Atif Memon, and Temu Kanstrén. 2015. Making GUI Testing Practical: Bridging the Gaps. In 2015 12th International Conference on Information Technology-New Generations. IEEE, Las Vegas, United States, 439--444.Google Scholar
- Adina Deiner, Christoph Frädrich, Gordon Fraser, Sophia Geserer, and Niklas Zantner. 2020. Search-based Testing for Scratch Programs. In International Symposium on Search Based Software Engineering. Bari, Italy. https://api.semanticscholar.org/CorpusID:221555358Google Scholar
- Jordan Fernando and Inggriani Liem. 2014. Components and Architectural Design of an Autograder System Family. Taipei, Taiwan. https://api.semanticscholar.org/CorpusID:55353388Google Scholar
- Christoph Frädrich, Florian Obermüller, Nina Körber, Ute Heuer, and Gordon Fraser. 2020. Common Bugs in Scratch Programs. In Proceedings of the 2020 ACM conference on innovation and technology in computer science education. Trondheim, Norway, 89--95.Google ScholarDigital Library
- Diana Franklin, Phillip Conrad, Bryce Boe, Katy Nilsen, Charlotte Hill, Michelle Len, Greg Dreschler, Gerardo Aldana, Paulo Almeida-Tanaka, Brynn Kiefer, et al. 2013. Assessment of Computer Science Learning in a Scratch-based Outreach Program. In Proceeding of the 44th ACM technical symposium on Computer science education. Denver, United States, 371--376.Google Scholar
- Felienne Hermans and Efthimia Aivaloglou. 2017. To Scratch or not to Scratch? A Controlled Experiment Comparing Plugged First and Unplugged First Programming Lessons. In Proceedings of the 12th workshop on primary and secondary computing education. Nijmegen, Netherlands, 49--56.Google ScholarDigital Library
- David E Johnson. 2016. Itch: Individual Testing of Computer Homework for Scratch Assignments. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. Memphis, United States, 223--227.Google ScholarDigital Library
- Nina Körber. 2021. Anomaly Detection in Scratch Assignments. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). IEEE, Madrid, Spain, 111--113.Google Scholar
- Nina Körber, Katharina Geldreich, Andreas Stahlbauer, and Gordon Fraser. 2021. Finding Anomalies in Scratch Assignments. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). IEEE, Melbourne, Australia, 171--182.Google Scholar
- Maren Krafft, Gordon Fraser, and Neil Walkinshaw. 2020. Motivating Adult Learners by Introducing Programming Concepts with Scratch. In Proceedings of the 4th European Conference on Software Engineering Education. Seeon, Germany, 22--26.Google ScholarDigital Library
- Xiao Liu, Shuai Wang, Pei Wang, and Dinghao Wu. 2019. Automatic Grading of Programming Assignments: an Approach based on Formal Semantics. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). IEEE, Montreal, Canada, 126--137.Google ScholarDigital Library
- Will Marrero and Amber Settle. 2005. Testing First: Emphasizing Testing in Early Programming Courses. In Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education. Caparica, Portugal, 4--8.Google ScholarDigital Library
- Orni Meerbaum-Salant, Michal Armoni, and Mordechai Ben-Ari. 2011. Habits of Programming in Scratch. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (Darmstadt, Germany) (ITiCSE '11). Darmstadt, Germany, 168--172.Google ScholarDigital Library
- Jesús Moreno-León and Gregorio Robles. 2015. Dr. Scratch: A Web Tool to Automatically Evaluate Scratch Projects. In Proceedings of the workshop in primary and secondary computing education. London, United Kingdom, 132--133.Google ScholarDigital Library
- Florian Obermüller, Luisa Greifenstein, and Gordon Fraser. 2023. Effects of Automated Feedback in Scratch Programming Tutorials. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1. Turku, Finland, 396--402.Google ScholarDigital Library
- Andreas Stahlbauer, Christoph Frädrich, and Gordon Fraser. 2020. Verified From Scratch: Program Analysis for Learners' Programs. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering. Virtual Event, Australia, 150--162.Google ScholarDigital Library
- Andreas Stahlbauer, Marvin Kreis, and Gordon Fraser. 2019. Testing Scratch Programs Automatically. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Tallinn, Estonia, 165--175.Google ScholarDigital Library
- Hussel Suriyaarachchi, Paul Denny, and Suranga Nanayakkara. 2022. Scratch and Sense: Using Real-Time Sensor Data to Motivate Students Learning Scratch. In Proceedings of the 53rd ACM Technical Symposium on Computer Science Education-Volume 1. Providence, United States, 983--989.Google ScholarDigital Library
Index Terms
- A Testing Extension for Scratch
Recommendations
Testing scratch programs automatically
ESEC/FSE 2019: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringBlock-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 ...
Scratch for budding computer scientists
Scratch is a "media-rich programming environment" recently developed by MIT's Media Lab that "lets you create your own animations, games, and interactive art." Although Scratch is intended to "enhance the development of technological fluency [among ...
Scratch for budding computer scientists
SIGCSE '07: Proceedings of the 38th SIGCSE technical symposium on Computer science educationScratch is a "media-rich programming environment" recently developed by MIT's Media Lab that "lets you create your own animations, games, and interactive art." Although Scratch is intended to "enhance the development of technological fluency [among ...
Comments