This course shows how to define software quality and how it is assessed through various testing techniques. Topics include black‐box and white box testing techniques. Specific test case development techniques such as boundary value, equivalence class, control paths, and dataflow paths test are introduced. Different levels of testing such as functional, component and system tests are discussed with the concept of configuration management.