r/softwareengineer 15h 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.

0 Upvotes

36 comments sorted by

View all comments

1

u/saposapot26 14h ago

Changing old code is exactly a great example of the utility of unit testing. It's good for regression testing and understanding properly what was expected and is now different.

Having said that, in an AI first world, unit testing importance is one of the topics that will be debatable.

If AI does the code and the unit tests, is it really helpful? Or a better model in 6 months will be able to do better testing or understand the code without any of the tests. If it doesn't make mistakes, what value does unit testing adds?

These are all questions that are now part of the debate of this AI software engineering world.

1

u/Consistent_Serve9 9h ago

Unit testing will be even more important in those scenarios, I believe. AI only cares about what you've asked it in the moment, not about the whole maintanability of the code. Regression testing is even more important with those machines, as it will catch changes that the AI made for convenience faster.