Card 1 of 22 Known: 0 / 22
click to reveal definition
click to flip back
You know 0 of 22 cards in current set.

Ready to get certified?

Get Certified

Need this expertise applied inside your organization?

Explore Our Services

Full Glossary

Foundations

Test-Driven Development (TDD)
Writing a failing test before the code that makes it pass, using tests to drive design and quality.
Hands-On Practice
TDD is a skill built through repeated practice; this workshop centers on doing with feedback.
Katas
Small, repeatable coding exercises used to practice and internalize the TDD rhythm.
Deliberate Practice
Focused, repeated practice with feedback that builds mastery of TDD technique.

The Cycle

Red-Green-Refactor
Write a failing test, make it pass simply, then improve the design.
Small Steps
Working in tiny increments for immediate feedback and easy error detection.
Triangulation
Driving out a general solution by adding tests that force more general code.
Fake It Till You Make It
Starting with a hard-coded return and generalizing as more tests are added.

Unit Testing

Unit Test
An automated test verifying a small unit of code in isolation.
Arrange-Act-Assert
A test structure: set up context, act, then assert the expected result.
FIRST Principles
Good tests are Fast, Isolated, Repeatable, Self-validating, and Timely.
Test Readability
Writing clear tests that document behavior and make failures easy to diagnose.

Test Doubles

Test Doubles
Stubs, mocks, and fakes that isolate the code under test from its dependencies.
When to Use Doubles
Using doubles to isolate units and control dependencies, without over-mocking.

Refactoring

Refactoring Safely
Improving code with confidence because passing tests catch regressions.
Code Smells
Signs of poor design — duplication, long methods, tight coupling — that refactoring removes.
Simple Design
Aiming for the simplest design that passes tests and expresses intent clearly.

Legacy Code

TDD with Legacy Code
Adding characterization tests around existing code to enable safe change.
Seams
Places where behavior can be altered to insert tests without changing existing behavior.
Characterization Tests
Tests that capture current behavior so it can be preserved during refactoring.

Applying It

Common Pitfalls
Writing tests after code, testing too much at once, or skipping refactoring undermine TDD.
Sustaining TDD
Building the discipline and team habits to keep practicing TDD after the workshop.
Get started with ICON, today.
Book a consultation