What are some arguments against automated testing? I need to know in case at work someone tries to force us to do automated testing.
I can imagine it now: At some point in the future some code I wrote will have a bug. And then someone will say "If you had written an automated test for this, this big wouldn't have happened", and then I will be forced to write automated tests for all my code. FUCK. I hope this does not happen.
The angles I am thinking of for defending against automated testing is:
*They should consider the opportunity cost of automated testing. Yes if you spend all day writing automated tests you might prevent a bug or two, but this is less time spent doing other work.
* It makes the codebase more cumbersome to work with. If you change some behavior in your software, now you have to go back and change the automated tests so that they work for the new behavior.
* You cannot speculate what the problems will be beforehand, which means that automated testing can only for catching recurring bugs. And if a bug is recurring, you will get better at dealing with it anyway.
Will any of these work for convincing people not to force me to do automated testing?
Are you talking about unit test or application "functional" testing? Unit testing is completely pointless, so modern scum love it. Application testing has some value. I wrote a rants against unit testing many years ago but I can't find it. I remember that I did find some articles on the web against unit testing.
There might be some automated test that is useful to for some software. But it's more the testing culture that I am worried about. Travis, Azure, Jenkins, Dockerized testing. I'm worried about these things becoming mandatory and then modern scum will have to be hired to do these things. I actually wrote a unit test a couple of weeks ago, for my own personal use, because the function I was implementing was a complicated coordinate-mapping calculation, and I unit tested a few points to make sure I had the math right. It is more "standardized testing" as a procedure that I am worried about. For example, one candidate that we interviewed said that he strongly believes that before you make any change to a software you should write a unit test for it.
As for unit testing vs application testing I am guessing one is a local test of a function whereas another is a holistic test of the program as a user would use it? Yes I would say a user-end automated test would be more worth the time to implement than a local one, because a single user-end test might require many functions to work properly.