Prerequisite: SWE 6613 and CS 5013
Various definitions and metrics related to quality are introduced, along with the concept of total quality management (TQM). Development of quality/test plan and the cost/value trade-off throughout the software development cycle is demonstrated. As a crucial component of quality engineering, the notion of validation and verification is explained in the context of different testing techniques, which include black box testing, white box testing, and formal verification. The emphasis of the course is on testing techniques for both non-executable and executable software artifacts as applied to different levels of testing, ranging from inspection, formal verification, unit testing to regression testing.