Students will learn about the best processes to follow to produce better quality software that is also more maintainable. The course will discuss different types of tests, automated quality assurance tools and pipelines, and quality models. The course is geared towards practicing all covered concepts using state-of-the-art tools with lots of hands-on assignments and exercises.
- Gain a deeper understanding of version-control systems and related best practices
- Understand which testing or code analysis strategies can catch a given type of software bug
- Set up and use automated continuous integration services
- Be able to contribute quality improvements to an existing project
- lab exercises
- course project and report (for graduate students)