korrents

← Topics

What are tests for, and how much testing is enough?

Top voices on software quality: Kent Beck, Martin Fowler, Simon Willison, Kent C. Dodds, Hillel Wayne and 11 others.

They agree tests buy confidence and split on which tests, how many, and whether agents change the answer.

26 dated claims from 16 people · 5 views · most recent 24 Sept 2026

The views

What is a view?

Our reading of what a group of claims have in common, one level above a korrent: a korrent is our reading of what somebody said, a view is our reading of what several korrents share. The claims are printed under it, so the sentence can be checked against them.

Nobody is filed under a view — claims are. A person is named here because a dated claim of theirs sits under it, and somebody whose claims sit under two views appears under both.

  1. Tests should exercise the software the way it is used, not its insides

    Kun ChenYihui XieKent C. DoddsHillel Wayne

  2. Coverage is the wrong target: a high number says little about how good the tests are

    Salvatore SanfilippoMarc LittlemoreThorsten BallMartin Fowler

  3. Test-driven development is a tool for some kinds of work, never a test of professionalism

    Kent BeckHillel WayneAllan Odgaard

  4. Coding agents make tests matter more than they ever did

    Kent BeckMartin FowlerSimon WillisonGeorge Hotz

  5. Tests an agent wrote cannot be trusted on their own, so a person still has to check

    Peter SteinbergerDex HorthyTony FadellMario Zechner

A viewour reading

Tests should exercise the software the way it is used, not its insides

5 claims filed here, newest first — each in the words of whoever said it.

Unit tests have become just more source code to maintain — only end-to-end tests can be trusted to guard real behavior.

  1. Kun Chen Software engineer; author of axi.md unit tests are just source code at this point e2e test is the only real kind of test we can trust to guard actual behavior @kunchenguid on Xx.com · 7 Sept 2026
    unit tests are just source code at this point e2e test is the only real kind of test we can trust to guard actual behavior
Show all 5 claims

Needing to mock code in tests often signals an underlying design problem that refactoring would fix.

  1. Yihui Xie Statistician and software engineer who writes R packages… unless the code is completely out of your control, the need for mocking often indicates a design problem-consider refactoring to make the code easier to test directly. Converting testthat Tests to testityihui.org · 15 May 2026All korrents from this piece
    unless the code is completely out of your control, the need for mocking often indicates a design problem-consider refactoring to make the code easier to test directly.

Good things happen when you do not test implementation details: tests written with the React and Vue testing libraries look almost identical.

  1. Kent C. Dodds Software engineer and educator Did you know, the tests you write with react-testing-library look almost identical to the tests you write with vue-testing-library. Magic things happen when you don't test implementation details. :) @kentcdodds on Xx.com · 20 Oct 2018
    Did you know, the tests you write with react-testing-library look almost identical to the tests you write with vue-testing-library. Magic things happen when you don't test implementation details. :)

A viewour reading

Coverage is the wrong target: a high number says little about how good the tests are

5 claims filed here, newest first — each in the words of whoever said it.

Covering every line of code in tests does not guarantee covering every possible program state.

The map is not the territory

  1. Salvatore Sanfilippo Programmer; wrote Redis and hping, and blogs about C It is a known fact that covering all the lines of the code does not mean covering all the possible states. A new era for software testingantirez.com · 7 Jun 2026All korrents from this piece
    It is a known fact that covering all the lines of the code does not mean covering all the possible states.
Show all 5 claims

The goal of testing should be tests that are easy to understand and maintain, not high coverage of everything.

  1. Marc Littlemore British senior engineering manager at Netlify The goal is to write tests that are easy to understand and maintain, not to test everything. Improving Your Workflow with JavaScript Testing: Best Practicesmarclittlemore.com · 24 Jul 2021All korrents from this piece
    The goal is to write tests that are easy to understand and maintain, not to test everything.

Code that is complex or clever can pass its tests while still being bad code.

  1. Thorsten Ball Co-founder of Amp and co-host of the Raising an Agent podcast A lot of complex, "look at this clever trick", overly-abstracted, unreadable code works and makes the tests pass. Write Stupid Codethorstenball.com · 22 Oct 2015All korrents from this piece
    A lot of complex, "look at this clever trick", overly-abstracted, unreadable code works and makes the tests pass.

Total test coverage is a warning sign rather than an achievement: it smells of tests written for the number.

When a measure becomes a target

  1. Martin Fowler Chief scientist at Thoughtworks and author of Refactoring I would be suspicious of anything like 100% - it would smell of someone writing tests to make the coverage numbers happy, but not thinking about what they are doing. TestCoveragemartinfowler.com · 17 Apr 2012All korrents from this piece
    I would be suspicious of anything like 100% - it would smell of someone writing tests to make the coverage numbers happy, but not thinking about what they are doing.

A viewour reading

Test-driven development is a tool for some kinds of work, never a test of professionalism

5 claims filed here, newest first — each in the words of whoever said it.

TDD fell out of fashion partly because its advocates turned it into a moral test of professionalism, when people write very good software with a wide variety of workflows.

  1. Kent Beck Creator of extreme programming and test-driven development And then there were people who used it as a moral cudgel. Like you should be if you're not using TDD, you're not professional. And that's just such People can write very good software with a wide variety of workflows. How Kent Beck shapes the software engineering industryyoutube.com · 1 Jul 2026 · 1:22:17 into the videoAll korrents from this video
    And then there were people who used it as a moral cudgel. Like you should be if you're not using TDD, you're not professional. And that's just such People can write very good software with a wide variety of workflows.

    Watch from 1:22:17 plays here

    ↗How Kent Beck shapes the software engineering industryyoutube.com

    1 Jul 2026 · video · 2h 28m · spoken · machine transcript

Show all 5 claims

TDD earns its keep only where work alternates rapidly between doing and learning; choosing it is a practical decision, never a moral one.

Feedback loops

  1. Kent Beck Creator of extreme programming and test-driven development It's when you have this rapid alternation between I do a thing, I learn a thing, I do a thing, I learn a thing, I do a thing, I learn a thing. That's where TDD is really powerful. But it's not a moral decision. It's a practical decision. How Kent Beck shapes the software engineering industryyoutube.com · 1 Jul 2026 · 1:23:16 into the videoAll korrents from this video
    It's when you have this rapid alternation between I do a thing, I learn a thing, I do a thing, I learn a thing, I do a thing, I learn a thing. That's where TDD is really powerful. But it's not a moral decision. It's a practical decision.

    Watch from 1:23:16 plays here

    ↗How Kent Beck shapes the software engineering industryyoutube.com

    1 Jul 2026 · video · 2h 28m · spoken · machine transcript

Facebook could ship safely without much unit testing because it had many independent layers of feedback, each one catching what the earlier layers missed.

Feedback loops

  1. Kent Beck Creator of extreme programming and test-driven development Then you had code review which gave you another level of feedback. You could roll out internally more frequently. And everybody was using Facebook for all kinds of stuff, personal and internal business stuff. So whatever feature you developed, people would start using it immediately. So you get another round of feedback. Then we had this phased roll out process where you'd start rolling your stuff out. If there was a problem, the blast radius would be limited to a a few million people. How Kent Beck shapes the software engineering industryyoutube.com · 1 Jul 2026 · 1:50:21 into the videoAll korrents from this video
    Then you had code review which gave you another level of feedback. You could roll out internally more frequently. And everybody was using Facebook for all kinds of stuff, personal and internal business stuff. So whatever feature you developed, people would start using it immediately. So you get another round of feedback. Then we had this phased roll out process where you'd start rolling your stuff out. If there was a problem, the blast radius would be limited to a a few million people.

    Watch from 1:50:21 plays here

    ↗How Kent Beck shapes the software engineering industryyoutube.com

    1 Jul 2026 · video · 2h 28m · spoken · machine transcript

Writing unit tests for private functions is a waste of time, since they tend to be simple and are already covered by assertions.

  1. Allan Odgaard Danish Mac developer; author of the TextMate text editor… There are too many private functions, writing unit tests for these is a waste of time as they are both simple and using assertions. Accessing Protected Datasigpipe.macromates.com · 6 May 2010All korrents from this piece
    There are too many private functions, writing unit tests for these is a waste of time as they are both simple and using assertions.

A viewour reading

Coding agents make tests matter more than they ever did

6 claims filed here, newest first — each in the words of whoever said it.

Having an AI agent write tests costs tokens in the short run and saves them in the long run, because the classic failure is that the code does not work.

Second-order thinking

  1. Kent Beck Creator of extreme programming and test-driven development It costs tokens in the short run, but it can save them in the long run because one of the classic genie mistakes is stuff doesn't work. How Kent Beck shapes the software engineering industryyoutube.com · 1 Jul 2026 · 1:21:42 into the videoAll korrents from this video
    It costs tokens in the short run, but it can save them in the long run because one of the classic genie mistakes is stuff doesn't work.

    Watch from 1:21:42 plays here

    ↗How Kent Beck shapes the software engineering industryyoutube.com

    1 Jul 2026 · video · 2h 28m · spoken · machine transcript

Show all 6 claims

The Venn diagram of developer experience and agent experience is a circle: well-modularised code and good tests help the agents exactly as they help the humans.

  1. Martin Fowler Chief scientist at Thoughtworks and author of Refactoring which is that the the Venn diagram of developer experience and agent experience is a circle. And the point here is that, you know, what we do that that's good for the agents is good for the humans and vice versa. I'm hearing a lot of feedback saying, "Yeah, actually, if you have well-modularized code, that actually makes it easy for the agents to work with." Martin Fowler & Kent Beck: Frameworks for reinventing software, again and againyoutube.com · 7 Apr 2026 · 29:39 into the videoAll korrents from this video
    which is that the the Venn diagram of developer experience and agent experience is a circle. And the point here is that, you know, what we do that that's good for the agents is good for the humans and vice versa. I'm hearing a lot of feedback saying, "Yeah, actually, if you have well-modularized code, that actually makes it easy for the agents to work with."

Test-driven development matters more with coding agents than it ever did with people, because its real effect is stopping the agent writing more code than the task needs.

  1. Simon Willison Co-creator of Django and creator of Datasette the key thing about TDD is that it means that the agents won't write more than they need to. Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summityoutube.com · 19 Mar 2026 · 5:55 into the videoAll korrents from this video
    the key thing about TDD is that it means that the agents won't write more than they need to.

Writing code with a coding agent and no tests at all is indefensible, because the old objection to testing — that it is extra work you then have to maintain — no longer applies.

  1. Simon Willison Co-creator of Django and creator of Datasette I think I see people who are writing code with coding agents and they're not writing any tests at all. That's a terrible idea. Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summityoutube.com · 19 Mar 2026 · 6:41 into the videoAll korrents from this video
    I think I see people who are writing code with coding agents and they're not writing any tests at all. That's a terrible idea.

A language-agnostic conformance suite is the most powerful thing you can hand a coding agent, because the whole instruction becomes: write code until these tests pass.

  1. Simon Willison Co-creator of Django and creator of Datasette And what you can do if you've got one of these conformance suites is you can give it to a a good agent and say, "Write code until this test suite passes." And it kind of will. Simon Willison: Engineering practices that make coding agents work - The Pragmatic Summityoutube.com · 19 Mar 2026 · 8:37 into the videoAll korrents from this video
    And what you can do if you've got one of these conformance suites is you can give it to a a good agent and say, "Write code until this test suite passes." And it kind of will.

The first move on a legacy code base is tests you can trust, before a single line of the code itself is changed.

  1. George Hotz American programmer and hacker I mean, the first thing that I would do is build tests. The first thing I would do is get a CI to where people can trust to make changes. Before I touched any code, I would actually say, “No one touches any code. The first thing we do is we test this code base.” George Hotz: Tiny Corp, Twitter, AI Safety, Self-Driving, GPT, AGI & God | Lex Fridman Podcast #387youtube.com · 29 Jun 2023 · 2:14:03 into the videoAll korrents from this video
    I mean, the first thing that I would do is build tests. The first thing I would do is get a CI to where people can trust to make changes. Before I touched any code, I would actually say, “No one touches any code. The first thing we do is we test this code base.”

A viewour reading

Tests an agent wrote cannot be trusted on their own, so a person still has to check

5 claims filed here, newest first — each in the words of whoever said it.

Show all 5 claims

Models will not learn to write maintainable code from today’s benchmarks, because the cost of bad architecture cannot be measured by running the unit tests — it arrives three to six months later.

Feedback loops

  1. Dex Horthy Founder of the agent company HumanLayer the problem with training models on maintainability is like the cost function of bad architecture and bad program design can't be evaluated by running the unit test because it hits you 3 to 6 months later Context engineering with Dex Horthyyoutube.com · 15 Jul 2026 · 0:43:40 into the videoAll korrents from this video
    the problem with training models on maintainability is like the cost function of bad architecture and bad program design can't be evaluated by running the unit test because it hits you 3 to 6 months later

    Watch from 0:43:40 plays here

    ↗Context engineering with Dex Horthyyoutube.com

    15 Jul 2026 · video · 1h 33m · spoken · machine transcript

Agent-written code that runs and passes its tests is not enough: security, maintainability and being able to roll it back still need humans in the loop.

Margin of safety

  1. Tony Fadell Creator of the iPod and co-creator of the iPhone at Apple you can have an agent make code for you and it could work and it could test, but is it secure? Is it maintainable? If there's something going wrong, can you roll things back and understand what's going on? Tony Fadell: How to build real taste (and why AI makes it matter more)youtube.com · 7 Jun 2026 · 0:51:51 into the videoAll korrents from this video
    you can have an agent make code for you and it could work and it could test, but is it secure? Is it maintainable? If there's something going wrong, can you roll things back and understand what's going on?

    Watch from 0:51:51 plays here

    ↗Tony Fadell: How to build real taste (and why AI makes it matter more)youtube.com

    7 Jun 2026 · video · 1h 35m · spoken · machine transcript

In an agent-written codebase the agent-written tests are equally untrustworthy; manually using the product is the only reliable measure of whether it works.

  1. Mario Zechner Austrian developer who created the libGDX game framework Worse, you realize that the gazillions of unit, snapshot, and e2e tests you had your clankers write are equally untrustworthy. The only thing that's still a reliable measure of "does this work" is manually testing the product. Thoughts on slowing the fuck downmariozechner.at · 25 Mar 2026
    Worse, you realize that the gazillions of unit, snapshot, and e2e tests you had your clankers write are equally untrustworthy. The only thing that's still a reliable measure of "does this work" is manually testing the product.

Tests written by a model in the same context as the change are what find the bugs; the automated tests left behind are the lesser product.

  1. Peter Steinberger Founded PSPDFKit in 2011 and ran it for a decade Bigger changes always get tests. Automated ones usually aren’t great, but the model almost always finds issues when you ask it to write tests IN THE SAME CONTEXT. Context is precious, don’t waste it. My Current AI Dev Workflowsteipete.me · 25 Aug 2025
    Bigger changes always get tests. Automated ones usually aren’t great, but the model almost always finds issues when you ask it to write tests IN THE SAME CONTEXT. Context is precious, don’t waste it.

Where the claims collide

Asserted relations, each with the curator’s reason — never computed, because similarity cannot tell agreement from opposition.

Steinberger has the model write tests in the same context as the change because that is what finds the bugs. Zechner says the tests an agent writes for its own code are as untrustworthy as the code, and that manually using the product is the only reliable measure left. They cannot both be right about whether a model can check its own work.

On this topic, not yet placed

Matched by wording, not yet read into a view. The archive grows on its own, so this is where new claims wait for somebody to read them.

The full chronology, with every quote: software quality as a timeline · person by person, side by side · all topics · Something wrong? Tell us