This is the second story of Road to Simplicity. And it’s about the role of tests in software writing.

(The first part is about the goal of the series and hexagonal architecture)

Test and correctness

I think that it’s inappropriate to associate test with verification of correctness. After all with a test we can verify that a software module (e.g. a function) returns an expected output with a given input. But we cannot prove correctness in this way. We can prove correctness mathematically. And this is what we do to prove algorithms correctness.

We can see tests as experiments on the software system. And the below quote expresses concisely the above concept:

No amount of experimentation can ever prove me right;

a single experiment can prove me wrong

Albert Einstein

#software-testing #architecture #java #test-driven-development #software-development #road-to-simplicity #tests-are-not-tests

Road to Simplicity: Tests Are Not Tests
1.25 GEEK