I did not say that software is uniquely ill suited for formal verification. That also would be total nonsense.
I said that certain philosophies of software design are uniquely unsuited for formal verification.
Besides, tests and formal verification are different. A test is essentially a formal specification for a single point or, depending on how you test, multiple, potentially random, points. Writing or changing a test is less time intensive than writing or changing a full formal specification for an entire subsystem, therefore tests are more suited to volatile software development practices.
Maybe there are tradeoffs. If the code will never need the same thing again manual tests are good enough. Most code has things that don't change even as you add new features and so tests are valuable.