Type systems do not replace testing, and if a test works after retrying it then it is probably not something that a type system would be able to catch.
Yes they are not equivalent, but creating languages without a strict type system and the proposition of test driven development are going back and fort in strictness. It is beneficial to have a more strict programming language, but it can be uncomfortable and burdensome. So I find interesting we keep going back and forth in this dimension.