“Quality means doing it right even when no one is looking.” – Henry Ford
Most software testing processes are bad by design. I deal with this ALL the time. Its annoying and frustrating because it shows how misunderstood Software is.
I love the Idea of BDD, but Specflow's Runner is severely overpriced and I believe their price gouging to be unethical.
I love the idea of NCrunch, but it has the same issues Specflow's Runner does.
I am a fan of TDD, but often don't get the opportunity to use it. When I can, I decree its use.
Any system that supports any other status for tests than "PASS" or "FAIL" is badly designed. Yes, this include MSTest and most of the tools out there, as they allow for ambiguous states like "yellow" in test results that i have first hand experience with watching create BILLIONS OF DOLLARS (Yes, Billions with a B) in problems and issues.
Any system that requires all tests to run before you know if a unit test pass was successfully or not is badly designed. If a test fails, by all means continue as needed in another thread, but return the failed result back so you do not waste development time.
Any Testing system that does not take into account dependencies (or their failure) is badly designed.
Most Testing Frameworks are baddy designed. So ahead, show me any of them and and I will tell you whats wrong with it.