Thanks, James! This was very interesting suggestion. I'd give my eye-teeth to find such a company that was actively using rule-based programming in mechanical design (my specialty). That scale of project would be fascinating to program.
Cheers! Jason ------ Jason Morris Morris Technical Solutions [EMAIL PROTECTED] www.morristechnicalsolutions.com fax/phone: 503.692.1088 -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of James Owen Sent: Tuesday, February 17, 2004 9:37 PM To: [EMAIL PROTECTED] Subject: RE: JESS: on creating test harnesses & dev automation with Jess Not to be a name-dropper (don't you just hate those guys?) but when working with a large bank in England (OK, it was Lloyds) we ran 65,000 test cases against about 785 rules that dealt with pricing. Also, at a major insurance company, I ran about 5,500 test cases against less than 10,000 rules dealing with driver problems. How? (Why is later) Simple: Build a spreadsheet with the all of the conditions, i.e., the slots, on the left. On the right, identify which rule should fire, either name(s) or have a column for each rule labeled true/false, yes/no or something like that. Using Java main file, load up each row, set the slots (attributes) and fire the rules. Rules that should fire should match the rules that should fire. That's OI. Rule's that should not fire should match rules that should not fire. That's OK as well. However, a rule that does not fire that should fire is an alpha error. A rule that fires that should not fire is a beta error. This is 100% verification. Why? Because the loan application MUST have 100% verification if it's on the internet. Thousands and thousands of hits per day will be floating in through the net. An error that allows a loan that should not be allowed will be quickly detected by users and thousands of dollars (pounds sterling) would be lost. An error that does not allow a loan that should have been allowed will also cause the loan to go to the competition and, again, thousands of pounds sterling would be lost. Once the base-line was established, the 65,000 rules took just over six hours to run whenever ANY change was made to the rules. If only one rule changed, we discovered that it could generate unknown effects, unexpected things that should not have happened. Lloyds could not permit that. The same way with the insurance company. The 5,500 test cases took only an hour or so to run. So, whatever you do, NEVER use the 80/20 JUnit testing principle in financial environments, medical applications or processing plants. Failure is NOT an option. :-) SDG jco -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jason Morris Sent: Tuesday, February 17, 2004 6:15 PM To: Jess-Users Subject: JESS: on creating test harnesses & dev automation with Jess Hi All, One of my Outlook rules my have zapped someone's reply, so please forgive me for asking my question again - albeit a shorter version this time: On pg. 169 of JIA, Ernest makes the comment "...You should be thinking about putting together a complete test harness now..", so I have been structuring my Jess scripting code in modules, placing them in separate files, and calling them from a master *.clp file like so: ;;======= pat.clp ============ ;; Application batch script (clear) (watch all) (batch pat_main.clp) (batch pat_ask.clp) (batch pat_startup.clp) (batch pat_survey.clp) (batch pat_recommend.clp) (batch pat_report.clp) (batch pat_run.clp) (start-pat) Q. Though it seems to run fine now, I'm wondering if there are any pitfalls to calling batch files from batch files in Jess like this; and, is there a better/preferred/best-practice way to automate this kind of code/run/debug cycle? Thanks! -JM --- Jason Morris Morris Technical Solutions [EMAIL PROTECTED] www.morristechnicalsolutions.com fax/phone: 503.692.1088 -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] -------------------------------------------------------------------- -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] -------------------------------------------------------------------- -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------