Abstract


 
 
 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.
 
 

Highlights

  • The teaching of introductory programming courses differs from the teaching of other subjects, because in order to teach programming, first it is necessary to teach how to solve problems and build ideas [1]

  • Quality here refers to the conformancy of the program implementation with its specification, i.e., the program implementation is totally compliant with its specification. Another aspect of this approach is that, as the student learns to program, at the same time (s)he understands the importance of software testing activity

  • Motivated by the results of the experimental study described above, we propose the implementation of a repository to store the reference programs and the associated test case sets, so that they can be retrieved to be used during computer programming classes

Read more

Summary

Introduction

The teaching of introductory programming courses differs from the teaching of other subjects, because in order to teach programming, first it is necessary to teach how to solve problems and build ideas [1]. The teacher provides the student the program specification and (s)he waits for the student to build a program able to solve the proposed problem In this case, the student has got just the program specification and, based on it, (s)he should achieve the expected result, which is the code of a correct program. This paper presents a study where we propose an approach for teaching in which the student receives from the teacher the problem specification, and a test set that should be used during the testing. Quality here refers to the conformancy of the program implementation with its specification, i.e., the program implementation is totally compliant with its specification Another aspect of this approach is that, as the student learns to program, at the same time (s)he understands the importance of software testing activity.

Related Work
Software Testing
Experimental Study Planning
Results and Discussion
I II II III III
Threats to Validity
Proposed Data Repository
Concluding Remarks
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call