OpenRules Decision Manager 8.1.0 supports regression testing to confirm that a recent change has not adversely affected existing features of multiple decision models. Regression testing is done to make sure that new changes should not have side effects on the existing functionalities. It ensures that the old functionality still works once the new changes in decision models are done.
For example, the standard folder “openrules.samples” now contains the project called “RegressionTests“. If you click on the file “test.bat” inside this project, it will re-build all decision models included into “openrules.samples” and will re-execute all their test-cases. It is used to ensure existing decision models work fine. All decision models included in regression testing are described in the file “pom.xml” as below:
Decision model maintenance is an activity which includes enhancements, error corrections, optimization and deletion of existing features. These modifications may cause the system to work incorrectly. Therefore, Regression Testing becomes necessary.
Our customers for years used OpenRules test-cases defined in the tables such as these ones for the decision model “VacationDays”:
During decision model execution OpenRules automatically compares the actually produced values of decision variables in the columns “ActionExpect” with the expected values, and reports MISMATCH-errors if they were not the same. While our customers actively use these facilities to test separate decision models, they had to write their own regression tests to test ALL related decision models.
With newly introduced Regression Testing, OpenRules customers can reuse the project “RegressionTests” and put their own decision models in the provided “pom.xml” file (as shown above). Then with a simple click on the file “test.bat“, the regression testing of all included decision models will be done automatically!
P.S. New Decision Manager also simplifies the creation of test-cases allowing a user omitting “:=” (Java snippet indicators) in the above table “testCases”. Now this table may look as follows: