We have a couple of approaches we typically use.
The preferred method is to use our production SMAT archives and convert the desired amount of SMAT messages to new line terminated messages and resend that file through the desired test interface(s).
Most discussions will reveal that rarely is a real-time live production feed to test needed, but often people will say that up front so try and talk them down from that stance first.
If others remain insistent on a live real-time production feed to test, we use what we call our relay site.
The relay site is localhost TCP/IP listener that intercepts the desired production interface and forks 2 static raw routes (one static raw route to the prod listener that the intercepted interface sender was talking to which is often outbound to a foreign system, and one static raw route over to our desired test interface).
Our relay sites are used in many different ways but this particular example I think applies to your question.
Our relay sites are mostly used for parallel go lives when upgrading a vendor app on a new server that requires a parallel overlap for a while.
By using relay sites most of the configuration is in a dead site until activated and hardly any change to the live production site is necessary beyond setting the IP of the interface sender to be intercepted to localhost, which helps keep potential mess ups out of that site.
Russ Ross
RussRoss318@gmail.com