Effortless Testing Solution for Algorithm Migration

In today’s fast-paced industries, MATLAB and Simulink are essential tools for engineers and scientists. However, with their growing use across different departments and projects, ensuring version compatibility has become increasingly complex. Package Tester by VersionBay offers a robust solution to manage MATLAB and Simulink versions systematically, reducing risks and saving time.

Features

  • Single package definition file
  • Generate pipelines for all MATLAB projects
  • Leverage existing CI/CD platforms
  • Run jobs in parallel
  • Integrated with Nexus, and or Artifactory
  • Report errors, numerical differences and warnings
  • Generate Regression Tests Automatically

Why Package Tester?

As MATLAB and Simulink usage expands within organizations, the complexity of managing different versions also grows. From individual users running simple scripts to teams developing internal toolboxes and deploying sophisticated systems, the risk of incompatibility with new MATLAB or Simulink releases is a real challenge.

Package Tester is a powerful tool developed by VersionBay to automate and streamline the process of testing MATLAB and Simulink algorithms across different versions. By leveraging the combined knowledge from multiple projects, Package Tester offers a standardized approach to ensure your algorithms and models remain functional and efficient, even after a MATLAB upgrade.

Benefits of Package Tester

1. Save Time and Reduce Errors

By automating version testing and providing clear, detailed results, Package Tester saves valuable time and reduces the likelihood of errors, ensuring smooth transitions between MATLAB and Simulink versions.

2. Standardized Workflows

Package Tester standardizes the version management process, making it more efficient and reliable, especially in environments where consistency and precision are critical.

3. Comprehensive Testing and Reporting

With automated testing, detailed reports, and the ability to handle numerical differences through regression testing, Package Tester gives you full control over the integrity of your algorithms.

4. Expertise Backed by Real-World Experience

Package Tester is built on the combined experience of managing multiple MATLAB and Simulink projects, ensuring it’s a robust and well-tested solution.

Step 1

Create and Define Your Package

Package Tester starts with the creation of a package defined by a simple YAML file. This file allows you to specify:

  • Algorithm Source: Where the algorithm is stored.
  • Dependencies: Libraries and tools required to run the algorithm.
  • Reference Version of MATLAB: The MATLAB version in which the algorithm was originally developed.
  • Target MATLAB Versions: The versions to test for compatibility.

Step 2

Store in an Artifact Repository

Once the package is defined, it’s stored in a centralized artifact repository. This repository securely manages all versions of your algorithm and its dependencies, including test vectors, ensuring consistency and easy access for automated testing.

Step 3

Automate Testing with CI/CD Integration

Package Tester integrates seamlessly with CI/CD platforms like GitLab or GitHub. These platforms trigger parallel jobs that run your package across the specified MATLAB versions using predefined test vectors. Results are collected and stored back in the artifact repository, updating only if the code changes.

Step 4

Detailed Results and Regression Testing

Package Tester provides comprehensive outputs, including CSV files, test pass rates, warnings, and error lists, categorized by MATLAB versions. If numerical differences are detected between versions, Package Tester can automatically trigger additional pipelines to generate regression tests for all functions called by the algorithm. This ensures precise identification and resolution of any issues.

Step 5

Seamless Integration with Existing Release Pipelines

If no errors are found, Package Tester can integrate smoothly with your company’s existing release pipelines, ensuring your algorithms are ready for deployment across various MATLAB environments.

What does Package Tester answer?

When moving to a new version of MATLAB:

  • Are deprecated functions called?
  • Are there any new defaults that impact your algorithms?
  • Are there any numerical differences?
  • How many errors are there?
  • What errors are thrown?
  • Does your code run warning-free?
  • Is your algorithm also backward compatible?

Get Started with Package Tester Today

Ready to streamline your MATLAB and Simulink version management? Contact VersionBay today for a demo of Package Tester and see how it can transform the way you manage your algorithms and models.

Additional Services

Migration

VersionBay has a deep knowledge and experience in migrating code from one software environment to another, namely migrating to a newer version of MATLAB, Python, Julia or even migrating between them.

DevOps

We are a team of seasoned professionals specializing in DevOps practices and principles. Our comprehensive consulting services are designed to help businesses and organizations streamline their software development and deployment processes, enabling faster, more reliable, and efficient delivery of applications.

MATLAB Deployment

We specialize in helping businesses and individuals effectively deploy their MATLAB applications and optimising MATLAB deployment across enterprises. We have helped several companies with the deployment of MATLAB and maintaining internal developed toolboxes.