Test Driven Thinking

Programmers do something called Test Driven Development. Basically, they write tests that say “I expect my code to do this”, then write more code, and if the subsequent code they write breaks a test they wrote, they’ll be notified.

Wouldn’t it be cool if there was Test Driven Thinking?

  1. Write tests: “I expect that this is true.”

  2. Think: “I claim that A is true. I claim that B is true.”

  3. If A or B causes any of your tests to fail, you’d be notified.

I don’t know where to run with this though. Maybe someone else will be able to take this idea further. My thoughts:
  • It’d be awesome if you could apply TDT and be notified when your tests fail, but this seems very difficult to implement.

  • I’m not sure what a lesser but still useful version would look like.

  • Maybe this idea could serve as some sort of intuition pump for intellectual hygiene (“What do you think you know, and why do you think you know it?”). Ie. having understood the idea of TDT, maybe it’d motivate/​help people apply intellectual hygiene. Which is sort of like a manual version of TDT, where you’re the one constantly running the tests.