DEV Community

Manu Lopez
Manu Lopez

Posted on

How would you convince your company to implement unit tests?

Scenario

Suppose you are working in a super cool company, your coworkers are great and your job is fulfilling, but your company doesn't implement unit testing as it doesn't see any benefit from a business point of view.

What would you do?

As the title asks, how would you convince your company unit tests are beneficial? Would you try to convince from a technical point of view or a business point of view?

It would be great to read your comment!! ☺️☺️☺️

Oldest comments (29)

Collapse
 
rhymes profile image
rhymes • Edited

Do they have functional / integration tests or no tests at all? Unit tests might not be worth it in some scenarios, especially if you have to deal with a legacy app with no tests.

I would bring up the rate of bugs and regressions and start from there. In the meantime you can start testing your code and maybe start adding those few tests in the CI pipeline.

Collapse
 
manu profile image
Manu Lopez

Thanks for the comment! I think the rate of bugs is a very good point.

Collapse
 
coolgoose profile image
Alexandru Bucur

I would say try first to push for functional tests before if it's a web shop.
It always depends on the types of the projects and the allocated budgets.

Try being practical, like, hey guys, remember the time when the 'register' part of the website didn't work because of push X? Here's a way we can easily test for that. Having clear examples is always a good first step.

Collapse
 
ben profile image
Ben Halpern • Edited

For us, it helped to implement the tools that measure code coverage and give grades, like Code Climate. Somehow it's a bit easier listening to robots.

Code coverage is a flawed measurement, but it can help in a lot of ways

Collapse
 
manu profile image
Manu Lopez

Thanks for your comment Ben, I didn't know Code Climate! It looks quite interesting.

Collapse
 
ripaz profile image
Ripaz

Yeah, pretty nice tool I didn't know it existed. I will try to push it up in the next meeting with a team.

Collapse
 
acro5piano profile image
Kay Gosho

When I was in that situation, I shared a lot of articles about the benefits of writing unit testing.

Collapse
 
theinfamousrj profile image
RJ Hill

Convincing the company could be one of two things and I’ll just address them both.

Convincing leadership that you need tests of any kind is simple: “we need to do a little bit more work now in order to ensure that when someone new comes along and breaks things, they know immediately, without asking another developer, that something is wrong.”

Convincing other developers is also fairly simple: “we write unit tests so that when we break stuff we can get instant feedback on what we broke. We might even have planned for that to break because we’re changing a contract, then we see it break and have confirmation of that.”

Collapse
 
xowap profile image
Rémy 🤖 • Edited

There's always watching out for people breaking existing code, jumping on them and yelling "I told you so you should have written tests".

At some point the nerves crack.

Collapse
 
quii profile image
Chris James • Edited

Who is "them" ?

If it's your developer colleagues you shouldn't have too much trouble convincing them of the benefits, writing tests has more or less been industry standard for around 10 years now.

In short

  • Less bugs
  • Much safer refactoring so easier to change code
  • So faster development in the long run

If it's management, I would contest that you do not work at a super cool company. Do you ask permission to write classes? if statements? In 2018 writing tests is just as much as being a developer as refactoring is.

As a professional you are the expert being paid to make the right decisions as to how to make a maintainable system, not management.

Collapse
 
manu profile image
Manu Lopez

Thanks Chris for your comment! Maybe I was wrong saying that was a super cool company in the example but that was to focus in the unit test topic (pros and possible cons) and not in another business issue like supervisors don't listen to you or something like that. I really liked you thought in both tech and management terms.

Collapse
 
hilaberger92 profile image
Hila Berger

I actually read an article about this exact subject:
typemock.com/convincing-management...
Please let me know if you liked it :)

Collapse
 
manu profile image
Manu Lopez

Yes, the article was quite interesting! Thank you for sharing it :)

Collapse
 
hilaberger92 profile image
Hila Berger

No problem, I'm glad you liked it! :)

Collapse
 
alainvanhout profile image
Alain Van Hout • Edited

It’s a basic truth that (a) adding features and (b) being relatively bug free, are equally essential to most businesses that want to attract and retain customers. Unit tests allow you to focus on the former, while having confidence that you’re doing fine with regard to the latter.

Collapse
 
aghost7 profile image
Jonathan Boudreau

I highly recommend reading Li Haoyi's blog post on how to change a company from a software developer's perspective.

Correct me if I'm wrong, but it sounds like you're in a larger company at the moment. This might be why it is more difficult to drive change - don't let that discourage you though.

I think that in your case, driving change will be more about increased quality than increased efficiency. Think of business critical code, and find a way to convince management that continuously testing the code is valuable. For me, the most critical code has been security sensitive code. Start small, and once others are on the bandwagon, you can push for even more testing.