Do you want to know a dirty little secret? In “real life” nobody are creating Unit Tests, at least not in my line of business. Every single time I have applied for a job as a software developer, I have seen lots of fancy buzz words about how they expect you to create Unit Tests, and expects the developer to create tests for every piece of code he (or she) creates. However, as I start my job working for the company, I discover that the test suite have a 50% fail ratio, if there even is a Test Suite at all – And I’m not allowed to make it work, because that is “unproductive work”, and we “don’t have time for such things”, and the test suite haven’t been maintained for half a decade. The irony …
TDD, xUnit, nUnit, Continuous Integration, DevOps, etc – Fancy words and all that, but all of these words are useless without a rich suite of Unit Tests. In fact, DevOps without Unit Tests, is like driving a spaceship, made out of paper, to the moon, without space suites. It will inevitably go wrong, and all sorts of shit is destined to happen.
I don’t know about you, but for me this is a real problem, making my life as a software developer that much more difficult, since it implies having to manually run all sorts of tests, for every piece of change I do, effectively making me 10x less productive in my “day job”. Regardless of how a company projects itself in job ads, and on LinkedIn, I’ll bet with 98% certainty, that their Unit Test suite is a joke. Don’t believe me? Go ask your own developers.
FYI, Magic has roughly 400 Unit Tests, and no I don’t have 100% coverage, and I could have better coverage, but my ~60-70 percent coverage, is roughly 60-70 percent better than the stuff that’s in your ATM machine, and your pacemaker. I find that fact quite scary to be honest with you …!! :S