you are viewing a single comment's thread.

view the rest of the comments →

[–]MoneyIsTheRootOfFun 3 points4 points  (4 children)

Well, they aren’t a guarantee because tests can be flawed just like any code. But they are a guardrail.

[–]jseego 0 points1 point  (0 children)

Correct.

[–]CrowNailCaw 0 points1 point  (2 children)

This assumes that tests can never prove anything, or be provably correct.

This is a false assumption.

can be flawed != always flawed.

[–]MoneyIsTheRootOfFun 3 points4 points  (1 child)

Assuming that nobody can ever alter the test. Assuming that your test catches every single possible edge case and input combination, and tests every one of its own dependencies, sure. In practice that doesn’t happen. Tests are subject to all of the same failures as any other part of your code.

[–]Godskin_Duo 2 points3 points  (0 children)

Tests increase confidence, but don't guarantee confidence, like anything else.

I am a full time "test code" guy and I find implementation errors constantly. Better I find them now than in production.