MDNA Launches Unit Testing Tool for IBM i
June 19, 2024 Alex Woodie
Midrange Dynamics North America (MDNA) recently launched a new unit testing tool that’s designed to make it easier for IBM i developers to test their code. The software, called MDTest, is works with RDi and VS Code and integrates with MDNA’s change management software for IBM i.
MDNA created MDTest to provide for a simple way for developers to unit test their ILE code. The software automates the process of executing test scripts, recording results, and determining whether the software can be pushed into the next stage of the DevOps processes.
The product includes about 30 pre-built software quality tests that users can implement as part of their testing routines. The scripts can then be automatically called from within the company’s flagship change management software for IBM i, called MDChange, as part of a continuous integration-continuous deployment (CI/CD) pipeline.
A key component of MDTest is the notion of a “quality gate,” said Michael Morgan, the CEO of Midrange Dynamics, the Switzerland-based vendor that develops the software that Peterborough, New Hampshire-based MDNA distributes in North America.
All too often, the reporting that developers create for their software is inconsistent and of low quality, he said. “It’s often illegible or not understood by the audience that needs to review it,” Morgan told IT Jungle at the recent POWERUp conference in Forth Worth, Texas. “It’s not providing enough data about what did you compare to and why, and so we provide all of those parameters.”
The quality gate in MDTest provides a repeatable and reusable structure to ensure that unit test results are within the parameters set by the developer or the company.
“What that ensures is that the user, the test manager, and the developers themselves review the results of the testing,” Morgan said. “They see where the tests failed at a very granular level as well as a high-level, and they decide, based on that, whether or not that code is allowed to go to production or is required to go back to the developer for further modifications.”
The quality gates are a big part of the reporting functionality that Midrange Dynamics has built into MDTest, Morgan said. It closes the loop between the actual tests and the quality standards set by the development team or company.
MDTest also collects performance data, such as how many milliseconds it takes to complete the various procedures, which also impact application functionality, Morgan said. It also integrates with IBM’s Code Coverage functionality in IBM i, thereby giving users insight into how each line of code is being utilized throughout the program, he said.
“So it automatically for the developer…sets up all the Code Coverage, provides all the reporting around that, which helps not only to give you more test data, but it also helps you to know how good are my tests to begin with,” Morgan said. “Because if your test cases aren’t reaching a high enough percentage of your code, then you probably need to do further testing of it.”
Midrange Dynamics brings all those measurements together to allow customers to make a determination of whether a particular piece of code passes muster or not.
“We provide a really great rules engine that they can customize,” Morgan said. “We call it an automated testing template, and part of the template is the ability to specify what qualifies as a failed test and what doesn’t, based on performance metrics, based on the output generated by the application program, based on many other criteria, including their own custom criteria.”
Automated unit testing is common in the wider IT world, but it’s not as widely adopted in the IBM i world, Morgan said. But that is changing.
“This next generation of management, they’re not coming from the IBM i world where they started in the warehouse,” he said. Today’s managers “already worked in Linux or Windows shops and they expect automated testing to be in place, because that’s just part of the DevOps environment. Then they come here, and they’re like, where is it? So we’re trying to respond to their requirements for their expectations.”
As IBM i shops adopt more modern DevOps development practices, unit testing comes along with it. It’s part of the whole “shift left” mantra, said Donna Westmoreland, the CTO at MDNA.
“[Unit testing] is becoming more and more popular as more people adopt DevOps, and the whole trend toward shift left, which means I’m shifting my testing earlier in my process to minimize the amount of distance it takes to get to market with my new changes,” Westmoreland said. “It’s that whole concept of making sure those changes are fit for purpose, that they’re going to do what they’re supposed to do, before I hand it off to another team.”
The developer is the best person to determine whether a particular piece of code is meeting expectations or is full of bugs or holes, Westmoreland said. MDTest gives them the capability to make that determination fairly quickly and fairly easily, which (hopefully) will engender more unit testing by the developer and (hopefully) higher quality code.
“This is the IBM i world, so only really large shops have a QA [quality assurance] team,” she continued. “The developers have gotten used to just throwing it over the wall. ‘Okay, I made my code change, I’m sending it to QA.’ They’ve got to figure out what went wrong, then they send it back to them. Well, that’s very time consuming, and if you’re running in a sprint cycle, you don’t have time for that. So you need those kinds of things pointed out early in the process. So that’s what this is designed to do, is to give that heads up to the developer, that ‘This isn’t going to work when it makes it to QA, so you might as well fix it now.’”
MDTest also integrates with the automated testing tools used for more in-depth user acceptance testing. Specifically, it works with Original Software, which larger IBM i shops use to ensure their software meets user requirements.
For more information on MDTest, see MDNA’s website at www.md-na.com.
RELATED STORIES
Midrange Dynamics Hooks Change Management Into VS Code
Original and Midrange Dynamics in IBM i Test Tie-Up
Midrange Dynamics Dives Into REST With Acquisition
Midrange Dynamics Speeds Table Updates In Db2 Mirror Clusters
Multi-Platform App Dev Capabilities Tops List Of Midrange Dynamics Priorities