Maybe Don't Write a Test
Whether you prefer white-box or black-box testing, sometimes testing feels like a box. Well, let's think outside of it. What might we get for not writing tests?
You Mean, Never Test?
No, sometimes I really like to test and find it valuable.
Obviously
If we don't write a test, what might we get?
Maybe bugs. Something gets to production that is incorrect or bad or damaging.
Maybe fired. We aren't performing to expectations around tests. We don't fit the engineering culture we're trying to build here.
But Maybe
We save time not writing the test. Or figuring out the test framework. Or making our src available to test.
We save time not reviewing tests in code reviews. Or arguing over testing strategies.
We save time not updating tests. Across the whole maintenance cycle. Or! Updating mocks every time an implementation changes.
We ship more user-facing code because we weren't writing tests.
We ship fixes faster because there's less code and shorter builds.
We save time waiting for tests to run in every build. More deploys to prod.
We save time reading tutorials and opinion pieces (like this one) about testing.
Weight taken off our soul because we weren't writing boring, repetitive tests.
We are more focused on code to ship to our users, value to deliver. We avoid over-emphasis and distraction on dev concerns day to day.
We are grateful for time saved when our code is thrown away.
We gain in sense of adventure, coding with our hair blowing in the wind. Enough with "safety first"!
Just maybe.
Absolutely?
No, just maybe.
Does this mean that all tests cost more time than they save, especially over extended time? No.
Does this mean that not all tests are slow, liable to break with changes, are boring or repetitive? No.
Does it mean that every time we write a test, we feel time slow down, the weight of meaninglessness and the cudgel of safe practices for our own good? No.
But maybe.