Download Tool Support for Introductory Software Engineering Education
Transcript
4 Chapter 4 TESTING T his chapter discusses testing and its role in introductory teaching. First we examine testing in general and why it is important to software development. Secondly we look at the position of testing in introductory courses and approaches that have been developed for introducing it to the early computer science curriculum. Next we look at the practical techniques of testing that are needed by students and examine each one for its relevance and suitability in a teaching context. Finally we look again at the tools that are available for performing testing and conclude by asking whether a tool could be developed which better facilitates the teaching of some of these testing activities. 4.1 Why test? Because software plays an ever larger part in our lives, an increasing emphasis is being placed on software reliability. Testing is an important facet in ensuring software reliability. In fact, testing is recognised by industry as an important part of software development and a significant proportion of the resources devoted to software development are consumed by testing activities. Analysing the reasons why testing is being conducted allows us to structure testing activities into categories, each of which achieves a different purpose. This categorisation is independent of the scope or method of test selection which, as we shall see later, both give us alternative ways of categorising testing. [Pan2002] [Hetzel1988] suggests the following testing categories: • Correctness testing Determining if the software behaves “correctly”. This is the category that is predominantly being referred to when people refer to software testing; 71