Fresche Unveils X-Replay for 5250 Testing
October 14, 2020 Alex Woodie
Fresche this week rolled out X-Replay, a new tool designed to automate the testing of 5250 greenscreen applications. Unlike other tools that work on screengrabs or X-Y coordinates, X-Replay software works at the field-name level, which makes test scripts more resilient to change, according to Fresche, which now boasts a complete lineup of IBM i testing tools.
Fresche has been providing tools for IBM i testing for a while now, mainly with X-Analysis, its cross-reference analysis tool, as well as X-Dataset, which ensures good management and security of data involved in testing. However, when it comes to testing 5250 screens that are still in widespread use, Fresche had a gap in its lineup, according to Marcel Sarrasin, the company’s chief product officer.
“The missing piece that we had was people who were making changes that impact the user interface of a 5250 application,” Sarrasin tells IT Jungle. “So that’s what we’re announcing here, automated testing of 5250 screens. That then completes all of our RPG-5250 testing and gives us an end-to-end testing suite.”
X-Replay works by essentially recording how a human navigates a 5250 session. Customers can specify which parts of the screen to monitor, and X-Replay (which has its own built-in terminal emulator) will then generate the scripts needed to test those 5250 functions in the future. Then, when a developer makes a change to the screen or the underlying application, the tester can then re-run the scripts generated by X-Replay against the application, and see whether the changes broke anything on the 5250 screen.
While X-Replay works solely on the 5250 screen, the test results are displayed in a Web-based GUI dashboard, which makes it easier for testers to track the testing activities and progress over time. The screen testing can also be set to run in a “headless” manner (i.e., without an actual 5250 screen being driven), and can be automated in a DevOps manner using Jenkins and associated CI/CD tooling.
Because X-Replay utilizes the actual names of the fields that appear on the screen, as opposed to using X-Y coordinates or simple screenshots, the product is more resilient to small changes to the screen that often trip up other screen testing tools, says Mark Hunter, Fresche’s vice president of innovation.
“One of the novelties of the approach we implemented is . . . when we’re checking a field on the screen to see if it’s the right value, we’re actually cross-referencing the underlying field name,” Hunter says. “What that means is. if you make a subtle readjustment to a screen, it’s not going to break your tests.”
This one feature will hopefully prevent testers from giving up with automated testing out of sheer frustration, which is all too common with other testing tools, Hunter says.
“People should test, so the first thing they do is they create 200 tests,” he says. “Then they get frustrated because the tests are breaking all the time, but [breaking] falsely. They’re brittle. They’re not actually reporting problems. They’re just inconsequential changes. So if you move the field around, or if you resize the field, your test is still going to pass [with X-Replay]. It’s not going to bug you to change your test every time.”
Fresche hopes this approach creates a much more robust test library, Hunter says, especially when combined with XDatatest. While X-Replay ensures the 5250 tests are resilient to changing user interface elements, XDatatest helps to prevent bad data from infiltrating the test, which is another common scourge of application testers.
X-Replay is available as a standalone product or as part of X-Analysis Suite, which also includes XDatatest and X-Analysis. XDatatest provides regression testing and keeps track of data used in tests. It also provides data masking or obfuscation, which are critical functions because testers need test data that is relevant enough to provide an accurate test, but not so relevant that it violates data privacy regulations.
XDatatest is also integrated with IBM’s Code-Coverage capability, which helps IBM i shops track what segments of their application’s source code they have tested, and also helps to test business logic.
IBM introduced Code Coverage a couple of years ago, and many customers access it via Rational Developer for i (RDi). But thanks to IBM’s introduction of its “headless” Code-Coverage runtime, Fresche has integrated the feature into its XData Test software, thereby providing better tracking of what’s already been tested without forcing testers to do a lot of extra work in RDi to set up the test workbench every time they want to test.
“[Code-Coverage] hasn’t been adopted too highly yet on the IBM i just because I think people aren’t familiar with all the setup of it,” says Ray Everhart, a Fresche product manager. “If you’re doing functional testing, that could include 40 or 50 programs, and all of that configuration, if you’re doing it manually, gets kind of tedious. So we make that part of the test process definition [in XDatatest]. We let you control what things you’re going to collect Code-Coverage percentages on, so every time you run that test again, you have a standard to compare against.”
“There are a lot of free tools on the market for that kind of thing,” Hunter says, including PHP Unit, JUnit, Cucumber, Protractor, and Selenium, among many more. Fresche actually integrates with some of these tools, and uses them behind the scenes in Presto to drive testing.
But when it comes to automating 5250 screen testing, there was a gap in the lineup, which is the story of how X-Replay came to be. “What we’re trying to do is bring some of that automation and scripting discipline that are standard in other areas into the 5250 world,” Hunter says. “We’re trying to marry these worlds together.”
This is particularly true with older applications that are poorly documented. IBM i shops may want to begin the process of modernizing the application, but they can’t say for sure how it works. Now X-Replay can provide some documentation to guide the company as it modernizes.
“If you create a series of tests over it, these tests become the documentation of your application,” Hunter says. “If you think to unit testing and the way that most modern application development is done, a lot of the contract of what this application delivers is encoded in your testing library. These are the guarantees. These are your behavioral promises. And on the 5250 side, we don’t have that, so people are coming into theses modernization projects or refactoring efforts, and they’re blind. So X-Replay gives them a certain vison into how the code is structured and what files are used.”
Fresche will be discussing the new X-Replay offering and how it fits into the whole X-Analysis Suite during a webinar on Wednesday, October 28, at 1 p.m. ET. You can sign up for the webinar at https://go.freschesolutions.com/automated-ibmi-application-testing