bio_img_developer

Developer Zone

Advanced Software Development with MATLAB

TL;DR: Too Long; Didn’t Run

In the fast-paced world of software development, speed and quality often feel like they're pulling us in opposite directions. On the one hand, we’re racing to deliver new features and fixes. On the other, every change we make adds a little more complexity to the codebase — and with complexity comes risk. Bugs slip in. Dependencies tangle up. Suddenly, what once felt agile starts to feel... fragile. Finding the right balance between moving fast and maintaining reliable, high-quality software isn’t easy. It’s a real, everyday challenge for teams everywhere.

One of the biggest hurdles?... Testing.

Testing Bottleneck As applications grow, so does the burden of making sure they still work after every small change. Running all the tests every time you tweak a piece of code can be painfully inefficient. It drags down developer productivity, introduces bottlenecks in CI pipelines, and turns quick feedback loops into long, frustrating waits.

Imagine fixing a minor issue in a single function — only to sit there while an entire suite of unrelated tests run. Not only is it a waste of time, but most of those tests may have nothing to do with the change you just made. It’s easy to see how this adds up over time, leading to diminishing returns and growing developer frustration.

Waste from running unrelated tests is not limited to development iterations. It slows down CI throughput. While it is a good practice to run all the tests at a meaningful cadence to ensure the entire application is always in a deployable state, running them all for every incremental job can be an overkill and hinders CI efficiency. It is counterproductive and makes an organization arguably less agile.

We can be smarter. Let's see how!

Happy Developer Incremental Testing R2025a release of MATLAB Test introduced a set of new features designed to ease some of these pain points — both during everyday development and when running automated builds locally or in CI.

We'll dive into these capabilities in this blog series. I am planning a 4-part series at the moment, but we'll add more if we get carried away!

Here's what's coming:

  • Part 1: We’ll start with local development workflow, looking at a feature that helps you make changes to your source code with more confidence.
  • Part 2: We’ll talk about how to ensure commit integrity using MATLAB Test Manager.
  • Part 3: We'll explore how the MATLAB Build Tool can help you leverage incremental testing for faster local builds as part of your pre-qualification workflow.
  • Part 4: Finally, we’ll walk through a CI workflow, how you can take advantage of incremental testing and boost your CI throughput.

What’s your testing experience been like? Have you ever felt stuck waiting on test runs that didn’t need to happen? Or maybe you’ve found creative ways to speed up your workflows? We’d love to hear your stories — drop them in the comments below.

We’ll kick things off with Part 1 next week. Stay tuned!

|
  • print

Comments

To leave a comment, please click here to sign in to your MathWorks Account or create a new one.