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.

Teaching staff

Grading overview

For academic honesty refer to the Purdue integrity/code of conduct. Except as by prior arrangement or notification by the professor of an extension before the deadline, missing or late work will be counted as a zero/fail.