SlideShare a Scribd company logo
1 of 48
Download to read offline
Testing Business Logic
begins in Requirements
Paul Vincent
BCS SIGiST – Summer 2015 Conference - Friday 5 June 2015
Some Known Best Practices …
• Agile development
(fail early, deliver often)
• Test-driven development
(test specification = system specification)
• Model-driven development
(formal models are more easily transformed into software)
Ref: BCS SIGiST Spring 2015
Ref: BCS SIGiST Winter 2014
BCS SIGiST Autumn 2014
1. Why Test in Requirements?
Ref: http://loadstorm.com/2011/10/cost-fixing-software-defects/
2. But how can
Requirements be Formal?
• Models can be formal
• Example = BPMN process
• Can be validated, simulated,
loops detected etc
Decision
Gateway
Task
Ref OMG DMN
3. Decision Models for Requirements
• Decision “models” are not new!
Babylon 1800BC - Mathematical look-up table
3. Decision Models for Requirements
• Decision “models” are not new!
4. Decision Models for
Testing
1977
5. Decision Models as Requirements
• How can we define a formal model for business logic
that Business Analysts can use?
With appropriate notation, methodology and standards?
• Can modelling tools embed appropriate testing to automate tests?
Decision Methodologies
• TDM - The Decision Model (von Halle, Goldberg)
• Published, commercially supported, specific notation
• Tooling (BiZZDesign, Sapiens, SAP,…)
• DTM - Decision Table Methodology (Vanthienen)
• Published across papers and books, commercially supported
• Tooling (Various) for decision tables
• Decision Management Systems Methodology (Taylor)
• Published, commercially supported
• Own tooling (Decision Management Solutions)
Decision Notations
• TDM - The Decision Model (von Halle, Goldberg)
• Published, commercially supported, specific notation
• Tooling (BiZZDesign, Sapiens, SAP,…)
• OMG DMN - Decision Model and Notation
• Published, commercial support starting, specific notation
• Tooling (Signavio, DMS, FICO, …)
Case Study: Example using TDM
Determine Policy
Renewal Method
Manual Renewal
Automatic Renewal
Manual or
Automatic
A. What is Decision?
• Find Manual or Automated status…
Determine Policy
Renewal Method
BPMN
TDM
Per OMG DMN
•A Decision is the act of applying decision logic to one or
more inputs to produce one output
•A Decision Logic is a formal expression that defines the
output of a decision with respect to its inputs
• A decision logic can be a Computation
• Or a Fixed Alternatives Ruleset, represented as a Decision
Table or a Decision Tree
• Or it can be an Imported Formulation (e.g. a predictive model
in PMML)
B. What is the Decision Logic
Decision Table / Rule Family describing logic
AND
OR
FAMILY
OF
RELATED
BUSINESS
RULES
CONCLUSION
C. Is this complete, no duplications etc?
ALL VALUES TESTED? ALL VALUE COMBINATIONS TESTED? ALL CONCLUSIONS CONSISTENT?
Verify Rule Family / Decision Table (static test)
D. Does this do what is intended?
ARE THE RESULTS AS EXPECTED AGAINST TEST CASES?
Validate Rule Family / Decision Table (test cases)
Validate Rule Family / Decision Table (test cases)
Validate Rule Family / Decision Table (test cases)
Validate Rule Family / Decision Table (test cases)
Validate Rule Family / Decision Table (test cases)
TEST CASES CREATED, CUSTOMISED, ETC
Validate Rule Family / Decision Table (test cases)
TEST RESULTS SHOWN
Validate Rule Family / Decision Table (test cases)
TEST CASE SHOWN IN DECISION TABLE / RULE FAMILY
E. Unit Testing Done
REPEAT EXHAUSTIVE TESTS
FOR THESE RULE FAMILIES
F. Test Connections to Rule Families
DEFINE TESTS FOR ALL
BRANCHES, TESTING EACH LINK
Assumptions for decision modelling for
testing
1. I know the decision I need to make
(may be re-used across processes)
2. I define a formal / rigorous data model too
(name, type, value domain, single/list)
• See Data Modelling for Requirements Testing
presentation at some future SIGiST!
For Business Logic requirements…
1. We can model business logic using Decision Models
For Business Logic requirements…
1. We can model business logic using Decision Models
2. We can verify the completeness + uniqueness of this business logic
For Business Logic requirements…
1. We can model business logic using Decision Models
2. We can verify the completeness + uniqueness of this business logic
3. We can validate the business logic against all possible use cases for
each rule family + all links in a decision model of multiple rule
families
How useful is this?
• Example 1: a product selection requirement
• Original analysis = 15,000 rows of business logic in Excel
• Decision Modelled = ~220 rows across ~18 decisions
by 6 Business Analysts over 2-3 weeks
How useful is this?
• Example 2: business loan compliance with policy
• Original analysis = spreadsheet of X tabs of
metrics vs business sector vs threshold levels
• Decision Modelled = Validate-able thresholds vs policies,
Side by side comparison of thresholds,
Champion challenger etc
Standards to support this pattern?
• Standardisation effort by OMG DMN
• Notation and metamodel
• Can be used with multiple methodologies eg DTM, TDM
• Tooling to support DMN underway
DMN Decision Requirements Diagram
DECISION BUSINESS
KNOWLEDGE
MODEL
INPUT
TDM / DMN
=
DRD
Key
DRD
Connections
Guide
Decision Table (a Business Knowledge Model)
Decision Table Hit Policies
Indicator Indicator
Term
Description
Single Hit U Unique Only 1 rule matched = DEFAULT POLICY
A Any Many rules can match but matched rules must have same output
P Priority Many rules can match and matched rules can have different outputs; output selected
per a prioritised list of possible outputs
F First Many rules can match and matched rules can have different outputs; output selected
per ordering of rules
Multi Hit O Output Matched rule outputs are returned in order per a prioritised list of possible outputs
R Rule Matched rule outputs are returned in order per ordering of rules
C Collect No operator Matched rule outputs are returned in arbitrary order
C+ Collect operator
(+, <, >, #)
Operator (sum, min, max, count) applied to the outputs
and the result returned
C>
C<
C#
DMN Spec
Example
DRD
BKM(s)
THANK YOU
• Credits:
• OMG DMN standards team
standardising notations for best
practice decision analysis and design
• Larry Goldberg and Barbara Vonhalle
defining The Decision Model as a best
practice methodology
• Sapiens DECISION product team
permitting the use of their tool for
this presentation

More Related Content

Similar to Testing begins with requirements - Presentation to BCS SIGiST jun15

Introduction to DMN
Introduction to DMNIntroduction to DMN
Introduction to DMNMax Tay
 
Decision Modeling for IIBA Business Analysts using DMN - Denis Gagne
Decision Modeling for IIBA Business Analysts using DMN  - Denis GagneDecision Modeling for IIBA Business Analysts using DMN  - Denis Gagne
Decision Modeling for IIBA Business Analysts using DMN - Denis GagneDenis Gagné
 
Introduction to some DMN patterns and their value
Introduction to some DMN patterns and their valueIntroduction to some DMN patterns and their value
Introduction to some DMN patterns and their valueDenis Gagné
 
Quantitative analysis and pitfalls in decision making
Quantitative analysis and pitfalls in decision makingQuantitative analysis and pitfalls in decision making
Quantitative analysis and pitfalls in decision makingMelvs Garcia
 
Business Analyst_PennonSoft
Business Analyst_PennonSoftBusiness Analyst_PennonSoft
Business Analyst_PennonSoftPennonSoft
 
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...XBOSoft
 
BuildingEffectiveDecisionMakingFramework_v1.05
BuildingEffectiveDecisionMakingFramework_v1.05BuildingEffectiveDecisionMakingFramework_v1.05
BuildingEffectiveDecisionMakingFramework_v1.05Jim Parnitzke
 
presentation_Differentiation_Workshop_Kunal
presentation_Differentiation_Workshop_Kunalpresentation_Differentiation_Workshop_Kunal
presentation_Differentiation_Workshop_KunalKunal Sharma
 
Continuous improvement methods summary by the sig rev052914
Continuous improvement methods summary by the sig rev052914Continuous improvement methods summary by the sig rev052914
Continuous improvement methods summary by the sig rev052914Richard Platt
 
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектов
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектовAI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектов
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектовGeeksLab Odessa
 
CRISP-DM: a data science project methodology
CRISP-DM: a data science project methodologyCRISP-DM: a data science project methodology
CRISP-DM: a data science project methodologySergey Shelpuk
 
Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality
Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality
Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality PECB
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionDevOps.com
 
Feb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & FramFeb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & FramIT Service and Support
 
How Nationwide Insurance Transformed and Accelerated its Small_1.3.1
How Nationwide Insurance Transformed and Accelerated its Small_1.3.1How Nationwide Insurance Transformed and Accelerated its Small_1.3.1
How Nationwide Insurance Transformed and Accelerated its Small_1.3.1ptulachan
 
Enterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful BusinessEnterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful BusinessNathaniel Palmer
 
Quality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureQuality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureRik Marselis
 

Similar to Testing begins with requirements - Presentation to BCS SIGiST jun15 (20)

Introduction to DMN
Introduction to DMNIntroduction to DMN
Introduction to DMN
 
Decision Modeling for IIBA Business Analysts using DMN - Denis Gagne
Decision Modeling for IIBA Business Analysts using DMN  - Denis GagneDecision Modeling for IIBA Business Analysts using DMN  - Denis Gagne
Decision Modeling for IIBA Business Analysts using DMN - Denis Gagne
 
Introduction to some DMN patterns and their value
Introduction to some DMN patterns and their valueIntroduction to some DMN patterns and their value
Introduction to some DMN patterns and their value
 
Quantitative analysis and pitfalls in decision making
Quantitative analysis and pitfalls in decision makingQuantitative analysis and pitfalls in decision making
Quantitative analysis and pitfalls in decision making
 
Business Analyst_PennonSoft
Business Analyst_PennonSoftBusiness Analyst_PennonSoft
Business Analyst_PennonSoft
 
01 intro qa
01 intro qa01 intro qa
01 intro qa
 
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
 
BuildingEffectiveDecisionMakingFramework_v1.05
BuildingEffectiveDecisionMakingFramework_v1.05BuildingEffectiveDecisionMakingFramework_v1.05
BuildingEffectiveDecisionMakingFramework_v1.05
 
presentation_Differentiation_Workshop_Kunal
presentation_Differentiation_Workshop_Kunalpresentation_Differentiation_Workshop_Kunal
presentation_Differentiation_Workshop_Kunal
 
Continuous improvement methods summary by the sig rev052914
Continuous improvement methods summary by the sig rev052914Continuous improvement methods summary by the sig rev052914
Continuous improvement methods summary by the sig rev052914
 
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектов
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектовAI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектов
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектов
 
CRISP-DM: a data science project methodology
CRISP-DM: a data science project methodologyCRISP-DM: a data science project methodology
CRISP-DM: a data science project methodology
 
Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality
Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality
Combining ITIL, Six Sigma and Theory of Constraints in streamlining IT quality
 
Business Analytics Final.pdf
Business Analytics Final.pdfBusiness Analytics Final.pdf
Business Analytics Final.pdf
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management Solution
 
Feb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & FramFeb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & Fram
 
Analytics
AnalyticsAnalytics
Analytics
 
How Nationwide Insurance Transformed and Accelerated its Small_1.3.1
How Nationwide Insurance Transformed and Accelerated its Small_1.3.1How Nationwide Insurance Transformed and Accelerated its Small_1.3.1
How Nationwide Insurance Transformed and Accelerated its Small_1.3.1
 
Enterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful BusinessEnterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful Business
 
Quality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureQuality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps culture
 

More from Paul Vincent

CEP Overview v1 2 for public use
CEP Overview v1 2 for public useCEP Overview v1 2 for public use
CEP Overview v1 2 for public usePaul Vincent
 
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04bEPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04bPaul Vincent
 
RuleML2011 CEP Standards Reference Model
RuleML2011 CEP Standards Reference ModelRuleML2011 CEP Standards Reference Model
RuleML2011 CEP Standards Reference ModelPaul Vincent
 
What analysts need to understand about business events - v1.2
What analysts need to understand about business events - v1.2What analysts need to understand about business events - v1.2
What analysts need to understand about business events - v1.2Paul Vincent
 
EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2
EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2
EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2Paul Vincent
 
Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11Paul Vincent
 
Debs2010 tutorial on epts reference architecture v1.1c
Debs2010 tutorial on epts reference architecture v1.1cDebs2010 tutorial on epts reference architecture v1.1c
Debs2010 tutorial on epts reference architecture v1.1cPaul Vincent
 
Rule and Event-based Processes June2010
Rule  and Event-based Processes June2010Rule  and Event-based Processes June2010
Rule and Event-based Processes June2010Paul Vincent
 

More from Paul Vincent (8)

CEP Overview v1 2 for public use
CEP Overview v1 2 for public useCEP Overview v1 2 for public use
CEP Overview v1 2 for public use
 
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04bEPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
 
RuleML2011 CEP Standards Reference Model
RuleML2011 CEP Standards Reference ModelRuleML2011 CEP Standards Reference Model
RuleML2011 CEP Standards Reference Model
 
What analysts need to understand about business events - v1.2
What analysts need to understand about business events - v1.2What analysts need to understand about business events - v1.2
What analysts need to understand about business events - v1.2
 
EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2
EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2
EPTS DEBS2011 Event Processing Reference Architecture and Patterns Tutorial v1 2
 
Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11
 
Debs2010 tutorial on epts reference architecture v1.1c
Debs2010 tutorial on epts reference architecture v1.1cDebs2010 tutorial on epts reference architecture v1.1c
Debs2010 tutorial on epts reference architecture v1.1c
 
Rule and Event-based Processes June2010
Rule  and Event-based Processes June2010Rule  and Event-based Processes June2010
Rule and Event-based Processes June2010
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Testing begins with requirements - Presentation to BCS SIGiST jun15

  • 1. Testing Business Logic begins in Requirements Paul Vincent BCS SIGiST – Summer 2015 Conference - Friday 5 June 2015
  • 2. Some Known Best Practices … • Agile development (fail early, deliver often) • Test-driven development (test specification = system specification) • Model-driven development (formal models are more easily transformed into software)
  • 3. Ref: BCS SIGiST Spring 2015
  • 4. Ref: BCS SIGiST Winter 2014
  • 6. 1. Why Test in Requirements? Ref: http://loadstorm.com/2011/10/cost-fixing-software-defects/
  • 7. 2. But how can Requirements be Formal? • Models can be formal • Example = BPMN process • Can be validated, simulated, loops detected etc Decision Gateway Task Ref OMG DMN
  • 8. 3. Decision Models for Requirements • Decision “models” are not new! Babylon 1800BC - Mathematical look-up table
  • 9. 3. Decision Models for Requirements • Decision “models” are not new!
  • 10. 4. Decision Models for Testing 1977
  • 11. 5. Decision Models as Requirements • How can we define a formal model for business logic that Business Analysts can use? With appropriate notation, methodology and standards? • Can modelling tools embed appropriate testing to automate tests?
  • 12. Decision Methodologies • TDM - The Decision Model (von Halle, Goldberg) • Published, commercially supported, specific notation • Tooling (BiZZDesign, Sapiens, SAP,…) • DTM - Decision Table Methodology (Vanthienen) • Published across papers and books, commercially supported • Tooling (Various) for decision tables • Decision Management Systems Methodology (Taylor) • Published, commercially supported • Own tooling (Decision Management Solutions)
  • 13. Decision Notations • TDM - The Decision Model (von Halle, Goldberg) • Published, commercially supported, specific notation • Tooling (BiZZDesign, Sapiens, SAP,…) • OMG DMN - Decision Model and Notation • Published, commercial support starting, specific notation • Tooling (Signavio, DMS, FICO, …)
  • 14. Case Study: Example using TDM Determine Policy Renewal Method Manual Renewal Automatic Renewal Manual or Automatic
  • 15. A. What is Decision? • Find Manual or Automated status… Determine Policy Renewal Method BPMN TDM
  • 16. Per OMG DMN •A Decision is the act of applying decision logic to one or more inputs to produce one output •A Decision Logic is a formal expression that defines the output of a decision with respect to its inputs • A decision logic can be a Computation • Or a Fixed Alternatives Ruleset, represented as a Decision Table or a Decision Tree • Or it can be an Imported Formulation (e.g. a predictive model in PMML)
  • 17. B. What is the Decision Logic
  • 18. Decision Table / Rule Family describing logic AND OR FAMILY OF RELATED BUSINESS RULES CONCLUSION
  • 19. C. Is this complete, no duplications etc? ALL VALUES TESTED? ALL VALUE COMBINATIONS TESTED? ALL CONCLUSIONS CONSISTENT?
  • 20. Verify Rule Family / Decision Table (static test)
  • 21. D. Does this do what is intended? ARE THE RESULTS AS EXPECTED AGAINST TEST CASES?
  • 22. Validate Rule Family / Decision Table (test cases)
  • 23. Validate Rule Family / Decision Table (test cases)
  • 24. Validate Rule Family / Decision Table (test cases)
  • 25. Validate Rule Family / Decision Table (test cases)
  • 26. Validate Rule Family / Decision Table (test cases) TEST CASES CREATED, CUSTOMISED, ETC
  • 27. Validate Rule Family / Decision Table (test cases) TEST RESULTS SHOWN
  • 28. Validate Rule Family / Decision Table (test cases) TEST CASE SHOWN IN DECISION TABLE / RULE FAMILY
  • 29. E. Unit Testing Done REPEAT EXHAUSTIVE TESTS FOR THESE RULE FAMILIES
  • 30. F. Test Connections to Rule Families DEFINE TESTS FOR ALL BRANCHES, TESTING EACH LINK
  • 31. Assumptions for decision modelling for testing 1. I know the decision I need to make (may be re-used across processes) 2. I define a formal / rigorous data model too (name, type, value domain, single/list) • See Data Modelling for Requirements Testing presentation at some future SIGiST!
  • 32. For Business Logic requirements… 1. We can model business logic using Decision Models
  • 33. For Business Logic requirements… 1. We can model business logic using Decision Models 2. We can verify the completeness + uniqueness of this business logic
  • 34. For Business Logic requirements… 1. We can model business logic using Decision Models 2. We can verify the completeness + uniqueness of this business logic 3. We can validate the business logic against all possible use cases for each rule family + all links in a decision model of multiple rule families
  • 35. How useful is this? • Example 1: a product selection requirement • Original analysis = 15,000 rows of business logic in Excel • Decision Modelled = ~220 rows across ~18 decisions by 6 Business Analysts over 2-3 weeks
  • 36. How useful is this? • Example 2: business loan compliance with policy • Original analysis = spreadsheet of X tabs of metrics vs business sector vs threshold levels • Decision Modelled = Validate-able thresholds vs policies, Side by side comparison of thresholds, Champion challenger etc
  • 37. Standards to support this pattern? • Standardisation effort by OMG DMN • Notation and metamodel • Can be used with multiple methodologies eg DTM, TDM • Tooling to support DMN underway
  • 38. DMN Decision Requirements Diagram DECISION BUSINESS KNOWLEDGE MODEL INPUT
  • 42. Decision Table (a Business Knowledge Model)
  • 43. Decision Table Hit Policies Indicator Indicator Term Description Single Hit U Unique Only 1 rule matched = DEFAULT POLICY A Any Many rules can match but matched rules must have same output P Priority Many rules can match and matched rules can have different outputs; output selected per a prioritised list of possible outputs F First Many rules can match and matched rules can have different outputs; output selected per ordering of rules Multi Hit O Output Matched rule outputs are returned in order per a prioritised list of possible outputs R Rule Matched rule outputs are returned in order per ordering of rules C Collect No operator Matched rule outputs are returned in arbitrary order C+ Collect operator (+, <, >, #) Operator (sum, min, max, count) applied to the outputs and the result returned C> C< C#
  • 45. DRD
  • 47.
  • 48. THANK YOU • Credits: • OMG DMN standards team standardising notations for best practice decision analysis and design • Larry Goldberg and Barbara Vonhalle defining The Decision Model as a best practice methodology • Sapiens DECISION product team permitting the use of their tool for this presentation