I have a system ("an engine", which is a piece of code) that takes in several parameters returns some output. The input parameters are several distinct and constrained sets. I can enumerate all of them (currently 1064 sets of inputs) and run them through the engine to produce the same number of outputs.
The engine code will be replaced by a new system, coding of which is coming from a different department. The purpose of the test is to record and store the original mapping of input to output, and once the engine has been replaced, re-run the test with new engine in place.
I am having some trouble figuring how to approach this. Is this a "unit test"? should it be treated as a unit test? (I think that's what I am trying to cast it as but having trouble). Should it be a separate "module" of the code? Should it be a one-off script that I run?
Since there are a lot of input->output mappings I will likely have to create a database table for the test, and store results in the table.
I am looking for a testing framework or an approach to this sort of "test" that will first help me store "what is expected", and then later, at a much different time, test whether the new system abides by the expectations.
Or, I could also run both systems at the same time and compare the results that way, I likely will not need to store results temporarily in this case. However, in my case the new engine is not ready yet, so I cannot refer to both at the same time, as only the old engine is available.