It always pays to keep an eye on the releases that come between the quarterly ABCD stuff. There are quite often some lovely enhancements or bug fixes that creep in. And 23A Monthly Update 1 (Your OPM in that case would probably have a release date of no earlier than 9th March 2023) is no exception to this with a new Decision Service Result Caching feature.
For large projects that have many test cases (and as we always say, a project without a test case is not really a project anyway), if these projects leverage Decision Services References to pull outcomes from the next generation service, then they might have found that compared to the time before Decision Services, the amount of time spent to execute the Test Cases using the Run button has gone up considerably. This is, obviously enough, because to call the Decision Service Reference requires a call to the Hub and some time to resolve it. If there are, say 400 test cases, then that’s a bit of time lost. Enter Decision Service Result Caching.
New in 23AMU1 however is the Decision Service Result Caching feature – which specifically targets Test Case execution or the Performance Analysis option to load in a JSON file and spin up the performance statistics. Now, when you run the Test Cases for the first time, a new folder called “.cache” appears in the Project directory and results of the Decision Service are cached in there for the Test Cases. If the Decision Service is not changed and the Test Case is not changed, then the cache can be used.
It means that the first run of the Test Cases might be slower, but subsequent runs will be much faster. In a little test, 400 test cases that reference a Decision Service that previously took 187 seconds dropped first to 19 and then to 9.8 seconds with Decision Service Result Caching. Before decision services existed the same basic Test Cases consumed about 6 seconds. So definitely a massive improvement, and I’m hoping that this is only the start of the enhancements in this domain.
Note – this Decision Service Result Caching is purely for the local machine where OPM is installed. We’re not talking about the big caching stuff over on the Batch service.