Class activities will be recorded here.

This page has the entire plan for the semester. For weeks in the future, consider it a plan subject to change. For weeks in the past consider it a record of what we have done. As for the current week, keep a watch for updates and changes.

Week 1 : Jan 16 - Jan 20
Note No lecture on Jan 16 (Martin Luther King Day)
Lectures Wed: Course Introduction
Wed and Fri: Putting testing first (TDD)
Discussions D1: Group Introductions
Part A Due 11:59 PM Jan 20; Part B Due 11:59 PM Jan 22
Assignments A1: Warmup with Java and JUnit Due 11:59 PM Jan 31
Reading Ammann and Offutt: Chapter 4 of Edition 2
Week 2 : Jan 23 - Jan 27
Note
Lectures Mon and Wed: Test automation and JUnit (Chapter 3 of 2nd Edition)
Fri: Background and overview of rest of the course: Why test
Discussions D2: Observability and Controllability of tests
Part A Due 11:59 PM Jan 27; Part B Due 11:59 PM Jan 29
Assignments A1: Warmup with Java and JUnit Due 11:59 PM Jan 31
Reading Ammann and Offutt: Chapter 1 or edition 1 or Chapters 1 and 3 of Edition 2
Week 3 : Jan 30 - Feb 3
Note
Lectures Mon and Wed: Background and overview of rest of the course:
Model-driven and Criteria-driven testing
Fri: Input domain partitioning
Discussions D3: Comparing Test Criteria
Part A Due 11:59 PM Feb 5; Part B Due 11:59 PM Feb 7
Assignments A2: Input space partitioning Due 11:59 PM Feb 1415
Reading Ammann and Offutt: Chapters 1 and 4 of Edition 1 or Chapters 2 5 and 6 of Edition 2
Week 4 : Feb 6 - Feb 10
Note
Lectures Mon-Fri: Input domain partitioning; Pair-wise testing supplement
Fri: Graph coverage overview
Discussions D4: Applying Partitioning to Object Oriented Software
Part A Due 11:59 PM Feb 10; Part B Due 11:59 PM Feb 12
Assignments A2: Input space partitioning Due 11:59 PM Feb 1415
Reading Ammann and Offutt: Chapters 4 and 2.1 of Edition 1 or Chapters 6 and 7.1 of Edition 2
Week 5 : Feb 13 - Feb 17
Note
Lectures Mon and Wed: Graph coverage criteria
Fri: Graph coverage of source code
Discussions D5: Misuse of Code Coverage
Part A Due 11:59 PM Feb 17; Part B Due 11:59 PM Feb 19
Assignments A2: Input space partitioning Due 11:59 PM Feb 1415
A3: Graph Coverage Criteria Due 11:59 PM Feb 28
Reading Ammann and Offutt: Sections 2.2 and 2.3 of Edition 1 or Sections 7.2 and 7.3 of Edition 2
Term project Project Description
Week 6 : Feb 20 - Feb 24
Note
Lectures Mon and Wed: Graph coverage of source code; Class example
Wed and Fri: Graph coverage for design elements
Discussions None
Assignments A3: Graph Coverage criteria Due 11:59 PM Feb 28
Reading Ammann and Offutt: Sections 2.3 and 2.4 of Edition 1 or Sections 7.3 and 7.4 of Edition 2
Week 7 : Feb 27 - Mar 3
Note Take home midterm available on Canvas on Mar 3
Lectures Mon: Graph coverage for use cases
Mon and Wed: Graph coverage for specifications
Fri: Overview of logic Expressions
Discussions None
Assignments A3: Graph coverage Criteria Due 11:59 PM Feb 28
A4: Graph Coverage and Logic Coverage Criteria Due 11:59 PM Mar 28
Reading Ammann and Offutt: Sections 2.5 2.6 and 3.1 of Edition 1 or Sections 7.5 7.6 and 8.1 of Edition 2
Term project Draft proposal due 11:59 PM on Mar 3
Week 8 : Mar 6 - Mar 10
Note Take home midterm due on Canvas on Mar 9
Lectures Mon Wed Fri: Overview of logic Expressions
Fri: Start Structural Logic Coverage of Programs
Discussions None
Assignments A4: Graph Coverage and Logic Coverage Criteria Due 11:59 PM Mar 28
Reading Ammann and Offutt: Section 3.2 of Edition 1 or Section 8.1 of Edition 2
Term project Final proposal due 11:59 PM on Mar 20
Week 9 : Mar 13 - Mar 17
Note Spring Break
Week 10 : Mar 20 - Mar 24
Note
Lectures Mon: Discuss midterm and current letter grades
Mon: Structural Logic Coverage of Programs
Wed: Syntax-based Coverage Criteria
Discussions D6: Caution about MCDC Coverage
Assignments A4: Graph Coverage and Logic Coverage Criteria Due 11:59 PM Mar 28
Reading Ammann and Offutt: Sections 3.3 and 5.1 of Edition 1 or Sections 8.3 and 9.1 of Edition 2
Term project Final proposal due 11:59 PM on Mar 20
Work on term project.
Week 11 : Mar 27 - Mar 31
Note
Lectures Mon and Wed: Program-based grammars
Wed: Demo of MuJava
Fri: Integration and Object-Oriented Testing (brief intro and examples only); Demo of MuJava
Fri: Overview of research topics for the rest of the semester
Discussions D6: Caution about MCDC Coverage
Assignments A4: Graph Coverage and Logic Coverage Criteria Due 11:59 PM Mar 28
A5: Syntax-based Coverage Criteria Due 11:59 PM Apr 4
Reading Ammann and Offutt: Section 5.2 of Edition 1 or Section 9.2 of Edition 2
Term project Term project
Week 12 : Apr 3 - Apr 7
Note Test input generation
Lectures Mon: Feedback-directed random testing and adaptive random testing
Wed: Adaptive random testing and bounded exhaustive testing
Fri: Symbolic execution
Discussions D7: Evaluation approach in Test Input Generation Papers
Assignments A5: Syntax-based Coverage Criteria Due 11:59 PM Apr 4
A6: Test Input Generation Tools Due 11:59 PM Apr 18
Reading Slides and papers available in Canvas Module
Term project Continue working on Term project
Week 13 : Apr 10 - Apr 14
Note
Lectures Mon: Symbolic execution and concolic testing
Wed: Fault localization overview
Fri: Discuss project termpaper and poster
Discussions D7: Evaluation approach in Test Input Generation Papers
Assignments A6: Test Input Generation Tools Due 11:59 PM Apr 18
Reading Slides and papers available in Canvas Module
Term project Continue working on Term project
Week 14 : Apr 17 - Apr 21
Note
Lectures Mon: Metamorphic Testing
Wed: UI Testing
Fri: Fuzz Testing
Discussions None
Assignments A6: Test Input Generation Tools Due 11:59 PM Apr 18
Reading Slides and papers available in Canvas Module
Term project Continue working on Term project
Week 15 : Apr 24 - Apr 28
Note
Lectures Mon and Fri: Regression Testing
Wed: Guest Lecture on Test Automation Speaker: Sergio Ramos
Discussions None
Assignments None
Reading Slides and papers available in Canvas Module
Term project Continue working on Term project
Week 16 : May 1 - May 5
Note Take home final available on Canvas on May 3
Lectures Mon: Regression Testing
Wed and Fri: Poster presentations
Discussions None
Assignments None
Reading Slides and papers available in Canvas Module
Term project Term project Term paper and posters/recordings due
Finals Week : May 8 - May 12
Note Take home final due on Canvas on May 9