18 654
Software Testing and Operations
Carnegie Mellon University · UGRD · Fall 2026
Catalog description
Testing is an integral part of any software endeavor and underpins building dependable systems. Testing activities, which nowadays rely greatly on automation and target both functional and non-functional requirements, form the backbone of a high-quality software solution that performs its function as intended. Operations activities involve configuration, monitoring, and troubleshooting software in a live environment. DevOps practices like containerization help streamline both testing and operations processes by encapsulating an application and its dependencies in a container to yield repeatable and resource-efficient testing environments. This course introduces the students to concepts, principles, theory, types, tools, and techniques of software testing. Students will learn fundamentals of testing principles, approaches to testing (specification-based and structural), input space analysis, and designing for testability. Moreover, students will gain sufficient breadth in testing types - targeting both functional requirements (unit and end-to-end testing) and quality attributes (security, performance testing). In its second half, the course syllabus introduces DevOps practices through a project component organized around micro services - an architectural style that gained significant adoption in the industry for building scalable and maintainable systems. Students will get practical experience with Docker to containerize such software and streamline testing automation. Each team will build various types of tests for one of the services whose quality they safeguard and put in place a resource-efficient and reliable testing process.
Sections
Current meeting, instructor, credit, and enrollment details
001
Availability not recently verified- Days & times
- No scheduled meeting time
- Meeting dates
- —
- Location
- —
- Instructor
- Staff