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