This course shows how to define software quality and how it is assessed through various testing techniques. Topics include review/inspection technique for non‐executable software, black‐box and white box testing techniques for executable software and test result analysis. 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/regression tests are discussed with the concept of configuration management.