Software Quality and Testing
This course introduces the students to the concepts and best practices of quality assurance and testing in software engineering. The course has two general themes: (1) the role of quality assurance in software development; (2) the role of testing in software quality assurance.
The course introduces the notion of software quality. The students are acquainted with quality and quality assurance. They learn methods and techniques to assure quality of both the end product (a system or application), and for the software process itself. The role of quality assurance is described for software, for a software process, and for a
software project. It is explained how these are related in an organization.
The course covers testing tools, techniques and methods that can be used to assess the quality and correctness of software systems. The course brings understanding on how these methods, techniques and tools can be used in a software development project to increase the software quality. Students will be introduced to testing at differing levels of granularity, for example, at the unit, system, or model levels. Students will be taughthow and when to integrate appropriate testing techniques into the development process, as well as how to judge the effectiveness of testing efforts.