Speaker Notes

Testing

Tests written by, for, and around AI-generated code.

6talks
58answers
2mainly about it
6new
DecJanFebMarAprMayJunJulAugSepOctNov

What your library answers 58

Why do standard unit and integration test suites miss critical production bugs?

Standard test suites only check components in isolation and rely on situations developers have actively anticipated. Production failures are usually caused by environmental factors, weird timing, or complex interactions that engineers never thought to test for.

Thumbnail: From Unit Tests to Whole Universe Tests (with Will Wilson) ▶ 0:22 From Unit Tests to Whole Universe Tests (with Will Wilson)

How do I use fast test suites with AI coding agents?

Fast automated tests act as essential guardrails to catch regressions and prevent the AI agent from breaking or deleting code. Running in milliseconds, these test suites provide immediate feedback to keep the unpredictable genie in check.

Thumbnail: TDD, AI agents and coding with Kent Beck ▶ 49:59 TDD, AI agents and coding with Kent Beck

Why do LLMs get dumber as a conversation progresses?

As tokens are continuously added to a single context window, the attention relationships scale quadratically and strain the system. This pushes the model past its smart zone into the dumb zone around 100K tokens. Developers should keep tasks small to avoid this performance degradation.

Thumbnail: Full Walkthrough: Workflow for AI Coding — Matt Pocock ▶ 3:40 Full Walkthrough: Workflow for AI Coding — Matt Pocock

Why are subjective tasks so hard to evaluate reliably?

Subjective tasks lack clear deterministic pass-fail criteria like string matching or symbolic verification. When we replace a deterministic grader with a non-deterministic LLM judge, we introduce massive noise and fluctuations. This makes it very difficult to draw reliable conclusions from our evaluation results.

Thumbnail: How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix ▶ 1:22 How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix

How do you specify high-level invariants for a massive distributed system without going crazy?

You start with a small number of basic properties like ensuring the system never crashes or times out. As you go deeper, you can turn formal API guarantees and written SLAs into automated test properties.

Thumbnail: From Unit Tests to Whole Universe Tests (with Will Wilson) ▶ 8:08 From Unit Tests to Whole Universe Tests (with Will Wilson)

What is red-green TDD, and how does it fit agentic workflows?

Red-green TDD is a development workflow where you start by writing a failing test for a new feature request. In the green phase, you focus purely on speed to get the test to pass, followed by a dedicated refactoring phase to ensure code quality. When combined with AI, agents rapidly generate the failing tests and passing code, allowing developers to focus their time on refactoring.

Thumbnail: Beyond Code Coverage: Functionality Testing with Playwright MCP — Marlene Mhangami, Microsoft ▶ 5:18 Beyond Code Coverage: Functionality Testing with Playwright MCP — Marlene Mhangami, Microsoft

Why does Kent describe AI coding assistants as a capricious genie?

AI tools grant your wishes for features or code changes, but often in unexpected or perverse ways that do not match your true intent. This dynamic creates an addictive intermittent reinforcement loop similar to playing a slot machine.

Thumbnail: TDD, AI agents and coding with Kent Beck ▶ 6:44 TDD, AI agents and coding with Kent Beck

Why should I enforce test-driven development when working with coding agents?

Starting sessions with red-green TDD instructions prevents agents from writing more code than necessary. Because automated tests are effectively free with AI, writing tests first dramatically increases the chances of getting working code. This approach eliminates the historical friction of TDD while keeping the agent focused on a minimal implementation.

Thumbnail: Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit ▶ 5:56 Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit

Should I compact context or clear it entirely?

Matt prefers clearing the context entirely to return the AI to a base state, comparing it to the character from Memento who continually forgets. Compacting squeezes previous conversation into a written history record, but resetting ensures the system prompt and starting state remain consistently fresh.

Thumbnail: Full Walkthrough: Workflow for AI Coding — Matt Pocock ▶ 8:42 Full Walkthrough: Workflow for AI Coding — Matt Pocock

How do I establish a reliable human evaluation baseline?

You start by partnering with subject matter experts to create clear quality guidelines using binary or Likert scores. Then, you extensively calibrate this process by taking multiple human evaluation samples for the same data and updating guidelines based on disagreements. This iterative process acts as your North Star for measuring and improving task quality over time.

Thumbnail: How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix ▶ 4:32 How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix

Why do relaxed specifications make property-based tests more maintainable than traditional UI tests?

Traditional tests rely on rigid sequences of steps that break when completely incidental changes occur. Property testing checks general rules and invariants, meaning incidental updates like level layouts or timing don't automatically break your tests.

Thumbnail: From Unit Tests to Whole Universe Tests (with Will Wilson) ▶ 12:45 From Unit Tests to Whole Universe Tests (with Will Wilson)

Why do traditional unit tests fall short in modern development?

Traditional unit tests frequently overindex on code coverage and implementation details rather than verifying overall system behavior. This causes tests to break during refactoring even when the underlying functionality remains correct, and AI-generated unit tests can sometimes be self-affirming without validating real behavior.

Thumbnail: Beyond Code Coverage: Functionality Testing with Playwright MCP — Marlene Mhangami, Microsoft ▶ 6:44 Beyond Code Coverage: Functionality Testing with Playwright MCP — Marlene Mhangami, Microsoft

How does AI shift developer leverage and skills?

Mundane implementation details and syntax memorization become largely irrelevant because AI handles boilerplate and package management. Instead, architectural vision, setting milestones, and managing system complexity become vastly more leveraged skills.

Thumbnail: TDD, AI agents and coding with Kent Beck ▶ 11:35 TDD, AI agents and coding with Kent Beck

How can I verify that an agent's code actually runs in the real world?

Passing an automated test suite does not guarantee that a server will successfully boot or function in practice. To catch these issues, instruct the agent to run the server in the background and exercise the API using curl commands. Tools like Showboat can even generate markdown documentation tracking these manual test results.

Thumbnail: Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit ▶ 7:24 Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit

How do I prevent requirements misalignment when starting a feature with AI?

Instead of relying solely on a specs-to-code approach, you should use an interactive technique like the grill me skill. This skill has the AI interview you relentlessly about every aspect of the plan to reach a shared design concept. It walks down decision tree branches one by one to resolve dependencies.

Thumbnail: Full Walkthrough: Workflow for AI Coding — Matt Pocock ▶ 12:27 Full Walkthrough: Workflow for AI Coding — Matt Pocock

How do I determine how much evaluation data I actually need?

You can use a statistical concept called power analysis to estimate the required volume of data. This estimation looks at factors like your desired effect size, the observed noise in resampled completions, and your target significance level. Using these factors ensures you have enough data to confirm model performance differences are legitimate rather than noise.

Thumbnail: How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix ▶ 6:19 How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix

How does the hypervisor run unmodified Linux deterministically without modifying the kernel?

The hypervisor implements a deterministic machine model underneath standard Linux so operations always take predictable clock cycles. When the system attempts a non-deterministic call like getting a random number, the hypervisor traps it and returns a deterministic answer.

Thumbnail: From Unit Tests to Whole Universe Tests (with Will Wilson) ▶ 22:30 From Unit Tests to Whole Universe Tests (with Will Wilson)

Why was the Agile Manifesto created?

It emerged from a series of workshops to offer an economic and human-centric alternative to rigid, phased waterfall development. The goal was to reach the early majority with a standard framework emphasizing rapid feedback loops and continuous iteration.

Thumbnail: TDD, AI agents and coding with Kent Beck ▶ 19:29 TDD, AI agents and coding with Kent Beck

When is a language-agnostic conformance suite useful for an agent?

Conformance suites are ideal when an existing standard has detailed language-agnostic specifications and tests, such as Web Assembly or custom file upload requirements. You can give the test suite to a capable agent and instruct it to write code until all tests pass. This allows you to rapidly reverse engineer or implement complex standards across different projects.

Thumbnail: Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit ▶ 8:16 Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit

When should I step away from the keyboard during an AI workflow?

Workflows can be split into human-in-the-loop tasks like strategic planning and requirement alignment that require active participation. In contrast, tasks like implementation can be treated as away-from-the-keyboard once the destination is mapped out. You must stay involved for crucial design choices but can let the model handle execution steps.

Thumbnail: Full Walkthrough: Workflow for AI Coding — Matt Pocock ▶ 26:39 Full Walkthrough: Workflow for AI Coding — Matt Pocock

What data characteristics should I prioritize for my evaluation sets?

Evaluation datasets should focus heavily on diversity and realism to accurately reflect production tasks. They also need to be difficult and discriminative so they can effectively differentiate between various model capabilities. Achieving this accuracy usually requires a combination of model and human-based filtering over time.

Thumbnail: How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix ▶ 7:18 How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix

How does time-travel simulation speed up finding deep multi-step bugs?

Determinism allows the hypervisor to restart the simulation from the beginning and follow the exact same path without saving heavy state snapshots. Once a rare intermediate event is reached, the system locks it in and only explores further paths from that point onward, drastically reducing exponential search times.

Thumbnail: From Unit Tests to Whole Universe Tests (with Will Wilson) ▶ 33:57 From Unit Tests to Whole Universe Tests (with Will Wilson)

How did Test-Driven Development originate?

Kent Beck invented TDD as a conceptual blend of vintage tape application workflows and his Smalltalk testing framework. Reading about typing expected output tapes before writing transformation programs inspired him to write expected values before code. This process transformation dramatically reduced his programming anxiety.

Thumbnail: TDD, AI agents and coding with Kent Beck ▶ 36:02 TDD, AI agents and coding with Kent Beck

Does it matter if a coding agent produces bad code quality?

For quick, single-page throwaway tools, code quality does not matter as long as it works. For long-term projects, accepting poor agent code is a choice, and you can explicitly prompt the agent to refactor messy sections. By taking the time to guide refactoring, you can end up with code quality that surpasses what you would write manually.

Thumbnail: Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit ▶ 10:20 Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summit

Why do you avoid reviewing AI-generated product requirements documents?

LLMs excel at summarization, and since you already share a design concept from the grilling session, reading the PRD only tests the LLM's summarization skills. Therefore, skipping this review saves time without risking alignment.

Thumbnail: Full Walkthrough: Workflow for AI Coding — Matt Pocock ▶ 35:36 Full Walkthrough: Workflow for AI Coding — Matt Pocock

How do LLM judges and rubrics differ in automated evaluation?

LLM judges rely on high-level quality guidelines to evaluate solutions similarly to how humans do across various tasks. Rubrics use a task-specific checklist of individual items that are separately verified by an LLM judge to make the process more objective. Both serve as automated proxies to scale evaluation when human review becomes a bottleneck.

Thumbnail: How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix ▶ 8:39 How Netflix Evaluates AI When There's No Right Answer - Cameron Wolfe, Netflix