next up previous
Next: Introduction

Teaching and Testing

Daniel Hoffman
Dept. of Computer Science, Univ. of Victoria, P.O. Box 3055 MS7209,
Victoria, B.C., V8W 3P6 Canada
Paul Strooper
Dept. of Computer Science, Univ. of Queensland,
St. Lucia, Qld. 4072, Australia
Peter Walsh
Dept. of Computer Science, Malaspina Univ. College,
Nanaimo, B.C., V9R 5S5 Canada

Abstract:

We present a novel approach to the use of testing in teaching Software Engineering, based on more than a decade of experience. We teach tools and techniques for automated testing to both undergraduate and graduate students. With the undergraduates we focus on fundamental principles, illustrated with test suites for C modules and systems. With the graduates we emphasize state-of-the-art methods, demonstrated on test suites for C++ class libraries. Throughout, a hands-on approach dominates; the students receive numerous complete test suites for study, execution, and modification.

We also make extensive use of automated testing in grading, to reduce grading time and to allow graders to focus on issues such as code style. Even more important, automated grading reinforces key Software Engineering principles such as implementation to specification.





Peter Walsh
Thu Jan 18 13:59:59 PST 1996