CHI TIẾT NGHIÊN CỨU …

Tiêu đề

Automating systems course unit and integration testing experience report

Tác giả

Weikle D.A.B.; Lam M.O.; Kirkpatrick M.S.

Năm xuất bản

2019

Source title

SIGCSE 2019 - Proceedings of the 50th ACM Technical Symposium on Computer Science Education

Số trích dẫn

2

DOI

10.1145/3287324.3287502

Liên kết

https://www.scopus.com/inward/record.uri?eid=2-s2.0-85064395628&doi=10.1145%2f3287324.3287502&partnerID=40&md5=ef0302e8c4a1df13a76b6e429cb49c8e

Tóm tắt

Introducing software testing has taken on a greater importance in undergraduate computer science curricula in the last several years, with many departments using JUnit or other testing frameworks in the programming sequence and software engineering courses. We have developed an automated framework for unit and integration testing and grading for our intermediate-level systems course projects. Our system-designed to test C programs-combines the Check unit testing framework, custom Bash scripts for integration testing, and the Valgrind Memcheck memory leak detection tool. Although our courses use Linux, the framework is platform-independent and has been tested on a variety of other platforms. We have used this framework for seven semesters with four different instructors as part of the computer science program at a primarily undergraduate university with an emphasis on liberal arts. We distribute both public and private tests so that students get immediate feedback on their progress without knowing the actual contents of every test. We have observed that knowing their code is not completely working motivates more students to figure out what they don't understand before the project deadline. It also gives students examples of different levels of tests to use to debug their code, encourages them to develop a deeper understanding of the project specification, and reduces student anxiety about grades. © 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM.

Từ khóa

Tài liệu tham khảo

Bandura A., Schunk D.H., Cultivating competence, self-efficacy, and intrinsic interest through proximal self-motivation, Journal of Personality and Social Psychology, 41, 3, pp. 586-598, (1981); Blaheta D., UNCI: A C++-based unit-testing framework for intro students, Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE'15), pp. 475-480, (2015); Brown C., Pastel R., Seigel M., Wallace C., Ott L., Adding unit test experience to a usability centered project course, Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE'14), pp. 259-264, (2014); Bryant R.E., O'Hallaron D.R., Computer Systems: A Programmer's Perspective, (2015); Seward J., Et al., Valgrind, (2017); Kirkpatrick M.S., Aboutabl M., Bernstein D., Simmons S., Backward design: An integrated approach to a systems curriculum, Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE'15), pp. 30-35, (2015); Kurmas Z., Mipsunit: A unit testing framework for MIPS assembly, Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE'17), pp. 351-355, (2017); Malec A., Archer B., Pickett C., Hugosson F., Lemmen R., Check: Unit Testing Framework for C, (2014); How People Learn: Brain, Mind, Experience, and School: Expanded Edition, (2000); Nilson L.B., Specifications Grading: Restoring Rigor, Motivating Students, and Saving Faculty Time, (2014); Ryan R.M., Deci E.L., Self-determination theory and the facilitation of intrinsic motivation, social development, and well-being, American Psychologist, 55, 1, pp. 68-78, (2000); Wick M., Stevenson D., Wagner P., Using testing and junit across the curriculum, Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE'05), pp. 236-240, (2005); Wiggins G., Seven keys to effective feedback, Educational Leadership, 70, 1, pp. 10-16, (2012)

Nơi xuất bản

Association for Computing Machinery, Inc

Hình thức xuất bản

Conference paper

Open Access

Nguồn

Scopus