On QA Automation Blogposts
I’ve been reading up on the topic of test-automation.
One kindof useful resource has been ThoughtWorks’ insights
blog, but my feelings
towards this are mixed.
Some of the posts have great insights, others are more mundane; and there’s a
fetishization of nouns which makes wading through the bullshit to find the
useful tips all that much harder.
As an example of the latter; in response to DHH saying “TDD is dead”, everyone
apparently blew-their-fucking-minds. – That makes no sense to me, unless you’ve
fetishized ‘TDD’ to mean ‘some specific thing which is the best, & which we all
should do’.
Which is bullshit.
Either your current practices in making software work well, in which case it
doesn’t matter one way or the other whether ‘TDD’ is proclaimed ‘dead’; or there
are ways you can improve your software development (in which case, it doesn’t
matter whether ‘TDD’ is proclaimed better than Jesus).
(After reading Steve Yegge’s “Portrait of a n00b”, I suspect closer to the truth is “all software is bad, all the time”; but that some approaches are less-bad in some circumstances).
If programmers had better propensity for moderation, this wouldn’t be so bad.
But fetishizing nouns is more annoying noise than anything else. (Although I
suspect it also indicates immaturity).
The other flavours of blogposts tend to come in 1) “here’s this fundamentally
useful concept you might not’ve heard of”. (e.g. describing the Test Pyramid,
or that tests should assert about behaviours, executable specifications should
be written declaratively, etc.), 2) “here are good ideas for ways to do things”.
The trouble with “here are good ideas” is … it comes across as “obvious” while
everyone’s still unable to readily apply it. e.g. one blogpost discussed “what
to automate”: it mentioned ‘repeated, tedious/painful processes’, which makes
sense, but the more salient point written was that “when you’re busy, you might
not notice that these things can/should be automated”.
– Simply saying “automate tedious/repetitive processes” is tautological. Saying
“be aware that there may be things you’d benefit from automating” comes from
experience.
It’s largely natural for programmers to ‘program’ without considering testability of their code. Some computations are hard to test. – I wish the blogposts were focussed more on “here’s why we ended up in a state where testing became difficult” (or, “here’s how we’ve improved; here’s why we were doing things we’ve improved-from”).