Frankly, it blows my mind that this is even a discussion. I am not sure how much I can really write one this topic, because my views really boil down to this...
Why the fuck are you not testing your code?
Do you like learning you broke prod?
Do you enjoy being afraid to tackle a bug because your not sure how that class really even works?
Do you like having to train any newbie for months before the feel comfortable committing?
Do you need to do TDD? BDD? MKBHD? No, I don't give a damn, but if you code professionally and don't write tests of any kind you are doing yourself and your team a dis-service so severe it could destroy the project in the long run.
If your boss is the reason you don't test quit, seriously quit that job because you will end up hating it in a few months anyway.
Lets talk facts, TDD reduces bugs that make it to Production by40% to 80%
Which according to all that stats I can find on the topic makes it almost comically more effective than types which is the common thread I see among "non testers". They work in typed languages.
The problem with this is that they are working in what I call "Liar Typed Languages" the compiler makes you feel warm and cozy, meanwhile its not checking shit. Sure its making sure you are passing in a Number and not a String, thanks every year I make that mistake a few times... You really saved me types... You know what type of bugs I suffer from daily? undefined or null. What does Java's or C#'s type system do to protect me from those? Jack shit. At least languages like Haskell or Elm have effective type systems that genuinely protect you from this.
So those are my thoughts on that, test your code and don't let lying types be your safety net. See you tomorrow!