An Experience on Applying Software Testing for Teaching Introductory Programming Courses

Previous work has demonstrated that the use of software testing concepts for teaching introductory programming courses may be a good practice for the students. Indeed, these courses provide limited opportunities for the teacher regarding dynamic activities that could help students in the lear...

Full description

Bibliographic Details
Main Authors: Maria A. S. Brito, João L. Rossi, Simone R. S. de Souza, Rosana T. V. Braga
Format: Article
Language:English
Published: Centro Latinoamericano de Estudios en Informática 2012-04-01
Series:CLEI Electronic Journal
Online Access:http://www.clei.org/cleiej-beta/index.php/cleiej/article/view/154
Description
Summary:Previous work has demonstrated that the use of software testing concepts for teaching introductory programming courses may be a good practice for the students. Indeed, these courses provide limited opportunities for the teacher regarding dynamic activities that could help students in the learning process. This paper describes an approach in which test sets are reused in the context of teaching introductory programming courses, as an alternative to increase the quality of the programs generated by students. An experimental study was carried out to investigate the impact of reusing test cases during the programming learning. The objective is to evaluate if the use of test cases might improve the quality of programs implemented by the students. Sixty undergraduate students participated in the experiment, implementing programs in the domain of vectors. A set of reference programs was used to generate test cases, based on functional testing, to be reused by the students to test their programs. Considering a range of 1 − 10, the programs’ quality increased from 5.3 to 7.4 using this approach. The results provide evidences that the reuse of test cases during introductory programming courses may help to increase the quality of the programs generated by students, motivating them to apply software testing during the development of the programs.
ISSN:0717-5000