Sure, but tests are only as good as the programmers that write them (and that's if those programmers are GOOD at writing tests, which is not universal). Not to mention no amount of automated testing is foolproof.
Full disclosure, I design and write system software tests for a living.
Nope, not on safety critical software, the norms tells you that you need independence between the development team and the validation team.