Software Testing and Maintenance

More Information

UBC Calendar

3 Credits


Course Objective

By the end of this course, it is expected that the students will be able to:

  • Understand software evolution and the need for software maintenance and testing
  • Appreciate the value of and challenges involved in software testing and maintenance
  • Show a solid background knowledge of the state of the art in the area
  • Distinguish open problems in software testing and maintenance

Course Outline

According to the laws of software evolution (1) a software system must continually evolve over time to remain useful/functional, and (2) as a software system evolves, its complexity increases unless work is done to maintain it.  Software maintenance is believed to consume as high as 80% of the total software life cycle costs, and is estimated at around $70 billion annually.  On the other hand, software failures have been estimated to costs as high as $60 billion annually, making software testing an essential component of software engineering.

This course is a study of the state-of-art methodologies, tools and techniques to support software developers during their software testing and maintenance tasks.

The aim of this course is to provide the students with knowledge and hands-on experience in testing and maintaining software applications as well as understanding of current research topics in this area, and an opportunity to critically write and review related research papers.

The course will cover fundamental concepts and challenges related to testing and maintenance with emphasis on: renovation, migration, reverse engineering, impact analysis, dynamic analysis, test cast generation, test oracles, coverage and adequacy analysis, mutation testing, search-based testing, web testing, GUI testing, fault localization, regression testing, and automation and tool building.


a place of mind, The University of British Columbia

Electrical and Computer Engineering
2332 Main Mall
Vancouver, BC Canada V6T 1Z4
Tel +1.604.822.2872
Fax +1.604.822.5949

Emergency Procedures | Accessibility | Contact UBC | © Copyright 2019 The University of British Columbia