DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Testing, Tools, and Frameworks
  4. The Business Case for Unit Testing — Part 2

The Business Case for Unit Testing — Part 2

Learn more reasons that unit testing isn't just good for developers or testers — it's good for the business as a whole.

Erik Dietrich user avatar by
Erik Dietrich
CORE ·
Sep. 04, 18 · Opinion
Like (1)
Save
Tweet
Share
5.56K Views

Join the DZone community and get the full member experience.

Join For Free

In the previous part, we learned valuable lessons on how often to push code into production and studied how Facebook handles this. Let's continue, and get on top of business!

5. QA Has Time to Focus on Other Types of Tasks and Testing

Here's another subtle benefit, and it has to do with how the QA group spends its time. Specifically, they can spend their time doing higher value things.

If you have a robust unit test suite, it's going to do an excellent job catching regression that would otherwise escape as defects, making their way over to QA and potentially to production. Now consider what happens over in QA when a regression defect appears.

Sure, they have to run through their testing paces whether they find defects or not. But when they find one, they probably run the software a few times, in a few different ways, to confirm. Then they log a defect report and wait for someone in the software group to come over to talk to them about it. This might involve some back and forth until the team member fixes the defect and submits for re-testing.

This is a lot of effort across a lot of people and a lot of defects. Now imagine freeing up their time. What if instead of all of this, they could engage in higher value activities, such as perhaps doing exploratory testing, performance testing, or stress testing?

When the development team automates its testing efforts, it takes the burden off of other groups.

6. You Improve Your Reputation Through Greater Software Quality

Here's another benefit to the test suite that will tend to speak to leadership, particularly when your software is part of your company's offering. You look better.

This can be a bit hard to quantify compared to, say, labor and time savings, but it's no less important. Your reputation is critical, and it affects sales and customer retention. Think of your own experience with a SaaS or an app you've downloaded. With each additional annoyance, a bit of flakiness, or obvious bug, a subconscious timer ticks away in your head. Eventually, it counts down to "zero" and you shake your head in disgust and delete the app or purchase a competitor's offering.

With a unit testing suite guarding against regressions and defects you extend, or even eliminate, this timer. Unit tests obviously won't prevent all defects all the time. Nor will they singlehandedly make your users satisfied with your product. But they will go a long way toward cementing you in your users' minds as a company that makes good, dependable software that is worth their time and money.

7. You Have Flat Feature Development Time

I'll close with the benefit that is, in my experience, nearest and dearest to management's heart. I'm talking about the idea of keeping the cost of change and feature development time flat. Let me explain what I mean.

In software groups that struggle with quality, the delivery time for comparable features follows sort of a hockey stick graph over the course of months and years. In other words, when the project starts, an average feature might take a few days to implement. But as the project goes on, those same sorts of features start to take weeks and eventually months.

This is what happens when you have a codebase that is rotting and incurring technical debt. A well-maintained unit test suite goes a long way toward preventing this situation. So teams with good unit testing practice tend to be able to deliver features predictably and consistently over the course of time.

So as you and your organization evaluate whether or not to adopt a unit testing practice, think of the business case. Unit testing helps the development team, sure. But it also frees up other personnel and helps your organization deliver software consistently and predictably.

unit test

Published at DZone with permission of , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Building a Real-Time App With Spring Boot, Cassandra, Pulsar, React, and Hilla
  • Application Architecture Design Principles
  • Microservices Testing
  • gRPC on the Client Side

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: