Basic concepts and definitions relevant to software quality, quality assurance, tests, quality engineering and quality planning. Anomaly prevention and fault classification. Fault tolerance. Software reliability engineering. Quality models. Comparison of different quality assurance techniques. Improvement of the software development process. Measuring the software and its processes. Identification of risks for the quantifiable improvement of quality.