Copyright © 1998 Sita Ramakrishnan, Monash University All rights reserved

Light Views

HomeCase StudiesOO TheoryHelp

Why learning OO testing is important?

Our experience has shown that traditional techniques of lectures and tutorials are not sufficiently effective to learn the complexity of comprehensive software testing. The use of multimedia facilities incorporating colour, sound and animation, can enhance the learning process by providing an audio-visual environment. Our system will highlight the behaviour changes of the components that make up the software-under-test. It will allow visualisation of complex software testing process. Students can interact with the system and gain a better understanding of how to test software systems. The project in addition will:

  • cater for different learning styles within the framework of resource-based learning,
  • include a feedback and evaluation component, and
  • be the first such self paced student centered educational tool for software testing available on the Internet accessible by the wider University.

Traditionally, computing graduates have been taught techniques to design and develop relatively small programs, with little emphasis on software testing and maintenance. However, testing is an important activity both at the development and maintenance phases of software development. Industry data show that around 60% of software costs go into the maintenance phase of the software life cycle. As an extreme example, the explosion of the first Ariane-5 rocket 30 seconds after lift off in June 1996 was found to be due to hidden assumptions in software elements from a previous rocket having been reused in Ariane-5 without proper understanding of the testing required. Clearly, it is important that Computing students learn systematic testing of software systems.

Commercially software testing attributes around 28% to 50% of the cost of software development. O-O languages are gaining increasing acceptance in the industry at 35% per annum [Age, 9/4/96]. Hence, there is an obvious need for students to be taught systematic approaches to software testing, especially in the development of complex systems. The system must be shown to satisfy the specification through testing. OO technology encourages modular and incremental development of large systems. We teach O-O software development for building complex systems. Testing OO software is an integral part of the course. However a lack of adequate teaching tools support has made it difficult for students to master the complexity of software testing.


Funded by Committee of University Teaching And Staff Development (CUTSD) through DEETYA, 1998


Disclaimer