Part 2: TDD and Development Thinking in the AI Era
Course Overview
This course addresses why testing has become even more important in an era where AI coding tools are ubiquitous.
We approach TDD not as a formal methodology, but as a practical tool for validating and safely using AI-generated code.
Learning Objectives
- Understand why AI-generated code can be more dangerous
- Shift perspective on testing from “verification tool” to “design tool”
- Learn testing strategies that maximize effectiveness with minimal effort
- Achieve both development speed and safety through AI + testing combination
Course Structure
Part 1: Why AI Code Becomes More Dangerous
- How AI coding tools work and their limitations
- Examples of “plausible but incorrect code”
- Cumulative risks of copy-paste development
- Why “it works, so it’s fine” is dangerous
Part 2: Limitations of Autocomplete Without Testing
- The relationship between when bugs are found and the cost of fixing them
- Hidden assumptions in AI-generated code
- Analysis of real project failure cases
- Why “I’ll write tests later” fails
Part 3: The Core of TDD — Tests Drive Design
- Understanding the Red-Green-Refactor cycle
- What changes when you write tests first
- The habit of thinking in small units
- Communicating requirements to AI through test cases
Part 4: Minimum Testing Strategy
- You don’t need to test everything
- Testing the Happy Path and boundary conditions
- Basic pytest usage
- Test coverage: Don’t obsess over numbers
Part 5: Accelerating Development with AI + Testing
- Generating test code with AI
- Requesting code from AI with test passage as the goal
- The confidence tests provide during refactoring
- Practice: Experience the TDD cycle with AI
Course Format
- Online/Offline: Zoom or in-person sessions
- Hands-on focused: Failure case analysis + writing tests yourself
Target Audience
- Undergraduates who can write code but have never done testing
- Developers starting team projects
- New lab members beginning to work with code
- Those using AI coding tools but feeling uneasy
Prerequisites
- Basic Python syntax (variables, functions, conditionals, loops)
- Experience writing simple programs
Key Practice Examples
- Analyzing AI-generated code with hidden bugs
- Writing your first test with pytest
- Experiencing the cycle: failing test → passing code
- Practice test-driven development with AI
Core Concepts Summary
| Concept | Traditional View | AI Era View |
|---|---|---|
| Test Purpose | Bug detection | Code validation + design tool |
| When to Write | After writing code | Before/during writing code |
| Target | Code I wrote | Code I wrote + AI-generated code |
| Role | Quality assurance | Safety net + AI communication tool |
Next Steps After This Course
After completing this course, you can continue with the GitFlow + AI Collaboration Practice course, where you’ll learn how to transition from individual development to team development.
Contact
For inquiries about course schedules and pricing, please reach out via email.