Programming using rule approach enforces to know how a rule engine is working. This is not a complex skill, rue author
needs to understand the concepts of asserting, retracting object into working memory and modifying them. It is
recommended to read what a Rule engine is to get those concepts.
Rule development can follow a test driven development approach: the developer can develop the test cases to trigger the
rule execution and then write the rules. Once done the new rules are extracted with the other rules in the rule set,
deployed to the unit test environment and the test executes. When designing with interface the unit test uses the
facade to access the rule engine for the execution.
When rules are complex and include a lot of conditions it may make sense to add condition by steps. It may be easy to
make error by using a wrong boolean operator. When the rule language support navigating into collection the testing may
include test around the presence and not presence of element in the collection.
It is always interesting once the rule is developed to perform rule analysis if the BRMS product has this capability.
The analysis helps to see if the current rule is in conflict with existing rules.