Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-2031

Enhancements to spreadsheet based testing tool

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Unresolved
    • Major
    • FUTURE
    • None
    • drools-testing
    • None

    Description

      As mentioned by Ansgar in blog comments: http://blog.athico.com/2009/03/new-testing-tool.html

      Hi,

      we're using Drools to perform mortgage scoring. For testing, we developed a somewhat similar, but already more sophisticated testing framework. Currently, our test set comprises of roughly 800 test scenarios/test cases.

      Similarities:

      • also uses spreadsheet tables to define test cases.
      • each column resembles a test case
      • leftmost column used to name elements of input facts or define expected conditions (see below)

      Differences:

      • concept of "expected values" not expressed as mere values, but as drools conditions which are expected to hold after rules all under test finished execution. These conditions are automagically converted into a drools query which is run against the working memory after rule execution.

      Enhancements:

      • conditions support simple text replacement, like a macro preprocessor. Wildcards in drools condition can be replaced by test case-specific text
      • allows skipping of certain condition checks on a per-test-case basis
      • event logging of the drools working memory embedded into fit output file for failed checks. visibility of log can be toggled using html-embedded javascript. allows for simple copy/paste into "audit view" window in eclipse. This eases debugging rules a lot!
      • possibility to define a subset of rules contained in a *.drl file to be tested

      Open issues:

      • Syntax of initial facts specification is probably a bit cumbersome. We're using a self-brewed language to do this. Already thought of replacing this by MVEL, but not done yet. For us, the current solution works ok.
      • Up to now, requires explicit import of all used Java classes. This is rather a limitation of drools - we did not manage to get package imports in *.drl files to work. Could probably be solved.

      Attachments

        Activity

          People

            manstis@redhat.com Michael Anstis
            michaelneale_jira Michael Neale (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

            Dates

              Created:
              Updated:
              Archived:

              PagerDuty