Testing & Static Analysis
Fall 2025
1
Announcements
Today’s Agenda
3
Today’s Agenda
4
Testing: Discussion Questions
Some testing questions you should be able to answer by the end of this unit:
What is a test?
�“Taken in aggregate, hundreds or thousands of simple tests (usually called a test suite) can tell you how well your entire product conforms to its intended design and, more important, when it doesn’t.”
A bit of Google history…
What are some of the benefits of automated testing?
What are some of the benefits of automated testing?
Other things:
What are the challenges / limits of automated testing?
What are the different test "sizes"?
What does it mean to write code so that it is testable?
Should be modular, isolated, and follows good design principles:
1. Single Responsibility Principle (SRP)
2. Separation of Concerns
3. Avoiding Side Effects
4. Dependencies are arguments instead of hardcoding.
Today’s Agenda
13
Static Analysis
Static Analysis
Static-Analysis
Autoformatters
Linters
Today’s Agenda
16
Python Exercise
Given that Project 1 and 2 will be written in Python, let’s practice our skills!
Important: You should be able to solve problems like these on the Midterm Exam (by hand).
See you Thursday!