Introduction to Software Testing
Why Teach Software Testing?
Many universities do not have a course on software testing,
therefore a relevant question is "why should we?"
This may be a question that you have as a potential adopter,
or if you're already interested in teaching software testing,
this may be the question your department asks.
The following list provides an effective argument for why
Computer Science departments should teach their students how to test software.
- Testing knowledge is a crucial industry need:
testing accounts for more than half the cost of developing software;
developers spend 50% of their time testing;
and reliability requirements are steadily increasing.
- All programmers will spend a significant amount of time testing their software.
- New and growing technology areas
(web applications, embedded software, secure systems, object-oriented software)
require software that is tested more thoroughly.
- Introducing software testing is a great way to modernize computing curricula.
Computer Science departments all over are trying to find a way to reverse the
decline in enrollments.
One reason for the decline in enrollments is that many CS courses have become
out of date with respect to industry trends.
Modernization is one solution to this problem.
- Introducing software testing is a great way to expand computing offerings.
Students are often frustrated by the lack of interesting electives.
- A testing course is a natural fit with new degrees, minors or
certificates in software engineering, information technology, and
information systems.
- Students will learn to think about quality in technical terms,
becoming better computer scientists, programmers,
and researchers.
- Feedback from students has been overwhelmingly positive.
We have been using draft chapters of this book for
five years and one thing has become clear — students like this subject!