You don't need unit tests

Yes, you heard right - that's right! In the IT community, the opinion is firmly rooted that all these tests help you somehow, but is this really so? Have you tried to think critically and analyze this conventional wisdom yourself? Hipsters come up with a bunch of paradigms - TDD, BDD, SDA, traffic police - just to create the illusion of hectic activity and somehow justify their salary. But think about what will happen if you (or your programmers) start to devote all your time exclusively to writing code? There is a separate area for testing and whole divisions. You don't force programmers to write requirements, do you? Then why should they write tests? I ask all those who agree and disagree to go inside the post, where I will clearly show you that unit (and integration) tests are a great evil!





Where did testing come from?

In ancient times, there was no testing at all. There was not even such a direction, to say nothing of such terms as block (unit) and integration testing. And about all sorts of e2e and, God forgive me, pipelines, I generally keep quiet. And all this because, in fact, there was nothing to test yet. In those years, software engineers were only trying to create the first computers.





As we all know, the first computers were gigantic in size, weighed tens of tons, and cost more than your Apple MacBook Pro Retina 4k 32Gb RAM 1Tb SSD Touch Bar USB Type-C. And in those days, developers were really afraid that something would go wrong during work. I think you know the history of the origin of the term "bug" - if suddenly not, then read it , it's very interesting. And because programmers were afraid of everything, they came up with unit testing.





Times have changed, computers have also changed. Testing has changed too. In addition to unit tests, a whole area also emerged, which later became known as Quality Assurance.





But the developers also changed. Nowadays, it becomes ridiculous to think that someone is afraid to run a program, because this could set the server on fire. In 2020, programmers are not afraid to launch their programs. And if there is no fear, why test?





Modern realities

I repeat my question - if your MacBook (or Xiaomi) doesn't explode due to a bug in the code, why test then? You just launch and enjoy the result. Anticipating your indignation at the high cost of mistakes for the customer - let specially trained people do the testing.





. , . - . . -, Quality Assurance โ€“ , ยฏ\_(ใƒ„)_/ยฏ





, Software Development, Unmistakable Development. .





-, : ยซ, , ยป. ? ? 





. โ€“ . . , , , ?





: ยซ ยป - . 





, master, , . pull request , โ€“ . , , .









  1. , .





  2. , . , , , , . , -, .





  3. .





โ€“ . โ€“ . ? .





, . , . , . , .





, , . , QA , . , โ€“ , .





โ€“ . .





Unit-testing, Integration Testing, End 2 End, Pipelines, CI, CD โ€“ , ? , , .





. , , e2e , . โ€“ .





- CI CD โ€“ . devops, . - , - , โ€“ .





. , โ€“ . โ€“ . โ€“ bash. โ€ฆ , .





Delivery In Time

: DIT โ€“ Delivery In Time. ( ****), . . , , . DIT , โ€“ , . , . , : โ€“ , โ€“ , . , , .





DIT . , ( ), . . , , Quality Assurance . .





:





โ€“ ?

โ€“ .

โ€“ .

โ€“ โ€ฆ , 1000 .





. , . 





, DIT , , . , . - (, , , ), .





: โ€“ , . - , , , . .





, . .





- , (, , ) . , , - . , ? , , .





. , . , โ€“ . , , , .





. , , . , ? , , , ? , . , - . โ€“ .





. (, 2 ) โ€“ . , , . , , . . .





, ? . . , .





. . โ€“ , โ€“ . - , . , . .





!





, , :)





, . , . , . , , 15%. . , .





? / 80%? - 30? โ€“ , ?





, . , , :)





And, taking this opportunity: if you liked this format, then I invite you to my blog of a bad developer (often lies) public VK , where I post from time to time similar sarcastic posts, which are often inconvenient to post here.












All Articles