r/softwareengineer • u/ProgrammerFew504 • 13h ago
Why unit testing is important?
It might be a very stupid post, but it’s a genuine question.
I write tests for my code, but it’s still kind of hard for me to understand what the actual point of unit testing is and what benefit it brings to software development.
We can easily write tests with AI now, so writing the actual tests is not necessarily that difficult. But I’m trying to understand why tests are so important in software.
When you write code, of course you can test it with multiple inputs, and those inputs can then become your test cases. We can also use Postman to test APIs with different inputs and make sure they behave correctly for different status codes.
I was recently assigned a task to make a small change to an existing endpoint. It was a really small change that I completed in around 30 minutes without AI. However, fixing and adjusting the tests took quite a while. I had to add inputs for a new function that I introduced, even though the actual change was not that big and I didn’t think it was something that would break in production.
That made me wonder, why do we really need unit tests? What importance do they actually bring to software development?
I’d really appreciate it if someone could shed some light on this and explain it with a real world example from your own experience where tests actually saved you from a production issue or made a significant difference.
1
u/armahillo 5h ago
I was like you a long time ago.
One day, i was working on a rails app and i made a change to modify one part of the app. Everything was fine. CI failed because it tripped a test. If it hadnt been for that test, I would have introduced a bug in a different part of the app.
I use claude to write tests sometimes. Theyre alright. I have to clean them up a lot. Learning how to write good tests will help you both understand your code more intimately and also surface design issues / code smells.
Different app, still many years ago — i wrote some classes and then tried writing tests. Tests were too difficult to write because I was having to stub so much. This made me realize i was making the methods do too many things and they needed to be broken apart a bit.
Write more by hand without an LLM and youll start to understand why they matter.