This course introduces various testing concepts, principles, and methodologies that assist developers in the process of testing and validating software systems. To help students better understand the subject, this courses uses a hands-on approach and is project based.

This course will cover the basic principles of software testing: the psychology and economics of software testing, development and use of test cases, design and code inspection, version control systems, black box testing, higher-order testing, white box testing, unit testing, incremental testing, regression testing, processes for debugging and fixing software defects, and testing techniques for concurrent and complex systems.

Please refer to the syllabus in Brightspace for the course details.