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, debugging, 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. Knowlegde of Java, Git, and GitHub is required (and assumed).
11/11/2021: Quiz 3.
11/4/2021: Homework 3 is assigned.
10/28/2021: Homework 2 is assigned.
10/5/2021: Reading 3 is assigned.
9/30/2021: Quiz 2.
9/28/2021: Homework 1 is assigned.
9/21/2021: Reading 2 is assigned.
9/16/2021: Quiz 1.
9/7/2021: Homework 0 is assigned.
8/31/2021: Reading 1 is assigned.
8/25/2021: The website is up!
This course involves assigned readings, homework, quizzes, in-class labs, a prelim, and a final exam. Homework may include written components or programming exercises. Homework will be completed in small student groups. Also, homework may involve testing non-trivial open-source software and applying techniques and tools learned in class to that software.
Final course grades will be based on the following.
|slides, scribbles||Reading 1 assigned|
Foundations (contd), Test Automation Demo
|slides, code||JUnit 4, JUnit 4 Assert|
Test Automation Framework
|slides, code||Homework 0 assigned|
Intro to Input Space Partitioning (ISP)
Implementing Input Space Partitioning
|slides||Reading 2 assigned|
Coverage Criteria and ISP
Coverage Criteria and ISP (2)
|slides, scribbles, code||Homework 1 assigned|
Graph-Based Testing (2)
Loops in Graph-Based Testing
Graph-Based Coverage and Source Code
Logic Coverage (2)
Active Clause Coverage Criteria
|slides, scribbles||Homework 2 assigned|
Applying Logic Coverage to Source Code
|slides||Homework 3 assigned|
Mutation Testing Demo
Mutation Testing Wrap-up
|slides, notes||Quiz 3|
Guided Random Test Generation
|slides, code||Homework 4 assigned|
Regression Test Selection
Regression Test Selection (2)