COMP 370: Software Quality, Metrics, and Testing¶
The course teaches software testing and quality control concepts, principles, and techniques including black box and white box testing, coverage testing, test case development, and regression testing.
In this programming intensive course, students will learn effective automation, testing, and use of software metrics through the practices of Test Driven Development and Continuous Deployment. The first half of the course will focus on the fundamentals of Test Driven Development and test automation. The second half of the course will build upon those skills and allow the students to create acceptance tests and deployment automation tools. Finally, students will learn how to measure user feedback effectively, thereby allowing them to safely deploy changes to running production software multiple times per day, rather than once every few weeks or months.
After taking this course, students should be able to:
- Employ Test Driven Development to create automated unit tests and improve the design of the software.
- Create tools for build, test, and deployment automation.
- Understand the benefits and costs of automated acceptance testing.
- Use automated tests and metrics to address cross-cutting concerns such as performance and scalability.
- Possess the basic skills necessary to create, test, deploy, and maintain an application written for a cloud computing environment.
Students will learn how to prevent errors, how to get ‘bugs’ out of the software and be able to apply this knowledge in other courses and projects.