Software Testing

Fall 2026

Software testing is widely used for detecting flaws in software. Systematic and organized approaches to testing will be discussed, including test adequacy criteria, manual and automatic generation of test inputs, regression testing, and at least one dynamic analysis for detecting known classes of errors. Students will learn how to design and automate the execution of high-quality software tests. Students will also learn how to generate test suites that meet coverage and other adequacy criteria.

Prerequisites. Graduate standing (Ph.D, MS, or MEng) in CS, or CS majors who have taken CS 3110 or CS 4120, or permission of instructor required. Working knowledge of Java, Git, and GitHub is required (and assumed).

Lectures:
 Monday/Wednesday, 1:25 -- 2:40pm
 Room: Statler Hall 265

Course Email:
 cs5154-staff@cornell.edu

Instructor:
 Owolabi Legunsen
 Office Hours (OH):
     M/W, 3:00 -- 4:00pm @ Gates 442A

Course Staff:
 Pengyue Jiang
   OH: T, 4:00 -- 5:00pm @ Rhodes 572
 David Langus Rodriguez
   OH: F, 10:00 -- 11:00am @ Rhodes 503

Course Details  

We will be using Canvas as the primary learning management system this semester. See all details, including syllabus, required text, and support resources on the Canvas page for this course.