際際滷

際際滷Share a Scribd company logo
Experiences in applying model
based testing for automated test
case generation and execution
Minh Nguyen
Founder/CEO/Quality Engineer
About me
 Holds a Ph.D. degree in Computer Science in 1997
from Norwegian University of Technology
 25 years work experience in software testing and QA.
 Founder / CEO / Quality Engineer at Questigage.
 Currently working as contractor at SpareBank 1 
Master Data Management team
束Pursuing and seeking for new and innovative way of
doing test and QA in smart and effective manner損
 Test automation; continuous test execution; model-
based test; ML supported test; etc
About the talk
01
Context and
motivation
02 MBT implementation
03 Lesson learned
Test efficiency vs. effectiveness
 Testing  exploring and examining the system to evaluate and
prove quantitatively if the quality requirements are met.
 Challenges:
 Too much focus on gaining efficiency by test automation and
demonstrating test coverage
 Less attention paid on fact-based identifying test areas which
give highest possible test effectiveness
MDM at SpareBank 1 (SB1)
SB1-MDM
Public
registers
Updates
Consolidation
SB1
Fagsystemer
SB1
Fagsystemer
Enterprise
systems
MDM-usage:
 7 millions Customer records
 25 Consumers and 2 millions requests/day
 12.000 daily updates from public registers
at real-time
Producers
Exposing
SB1
Systemer
SB1
Systemer
Systems
MDM-API
Consumers
Producers
MDM-solution:
 12 micro-services exposed to Consumers
 10 enterprise systems integrated
 300 rules: data validation, transformation
and merge consolidation
 Heavy batch transactions
束The most updated and best
quality of enterprise data
stored in one single place損
Challenges
Extremely high requirement
to data quality
Technical complexity -
many integration interfaces
High frequency of changes
to business rules and domain
models
Increasing number of Consumers 
with new requirements
Increasing number of
Enterprise systems joining
the consolidated platform
Automated regression test suites are
constantly growing and changing
Frequent hot-fix releases raise a need for
rapid verification of the actual change
What we want
Improve test effectiveness by smart deriving
of test scope caused by particular changes and
their intrinsic risk
Reduce cost of developing and maintaining tests
due to constant requirement changes
Better control of traceability between business
requirements and tests
MBT  Model
based testing ???
Model based testing  MBT
Rules /
Requirements
Model
Test-
oracle
Test cases
Executable
tests SUT
Manual
modeling
Automated
generation
Automated
generation
Automated
binding
Automated
execution
Automated
evaluation
Test tool
Expected benefits:
 Automated (smart) test case
generation
 Traceability between requirements
and tests
 Adjustable test coverage  束right
tests for particular change損
 Cost-efficient maintenance of tests
by changing the models instead of
tests
Example
Input parameter:
 32 input parameters.
 Average 3-4 possible input values per parameter which are
needed to be verified.
Business rules: 60
Field-rule:
1. If SSN is set then CustomerType = PER
2. LastName length shall not exceed 256 characters
Cross-field rules:
3. Secondary Citizenship shall not be set if Primary
Citizenship is empty
4. If SSN is D-No && PersonStatus = 3 then Sector = 9800
Behaviour-rules:
Changes from system A will override changes from system B
if the trust level of B is downgraded after X-days
Model based testing  MBT
Rules /
Requirements
Model
Test-
oracle
Test cases
Executable
tests SUT
Manual
modeling
Automated
generation
Automated
generation
Automated
binding
Automated
execution
Automated
evaluation
Test tool
Input parameter
Test case filter
Rule
Equivalence
Class
Boundary
PublicIdentificationNo:
regularSSN
d-No
orgNo
invalid_IdentNo
LastName:
length_20
length_255
length_256
length_257
Rule_2:
if (Citizenship1=null && Citizenship2 != null) {
Outcome = false
Error_msg = 束Citizenship2 rejected損}
Decision
Table
Logical
Operator
Rule_1:
if (SSN=dNo && PersonStatus=3 && SectorCode = 9800)
Outcome = true
Exclude(IdentNo.d-no || SectorCode = 9800 ||
Citizenship1 = NOR )
Fixed_value(IdentNo = orgNo &&
MaritalStatus = Single && PersonStatus = Resident)
Modeling
Entity
Parameter
Test case
20220914-MBT-Experiences-SB1-final.pptx
Model based testing  MBT
Rules /
Requirements
Model
Test-
oracle
Test cases
Executable
tests SUT
Manual
modeling
Automated
generation
Automated
generation
Automated
binding
Automated
execution
Automated
evaluation
Test tool
Test case generation
Parameter
=
20
No. possible values  3
No. of possible permutations = 320 (some combinations are not relevant)
 Still 束Test case explosion損
Objective of test case generation:
To derive a set of test cases  when being executed will give a
necessary and sufficient coverage for a particular purpose.
Genererated test cases:
o (o1, a1, b3, c2, ...)
o (o2, a2, b1, c2, ...)
o ...
Combinatorial algorithm:
o NWise  2 | 3 | .. | n
o Cartesian (full coverage)
RISK
Model element:
o Parameter
o Rule
o TC-filter
SCOPE
Model based testing  MBT
Rules /
Requirements
Model
Test-
oracle
Test cases
Executable
tests SUT
Manual
modeling
Automated
generation
Automated
generation
Automated
binding
Automated
execution
Automated
evaluation
Test tool
Test case execution
SoapUI test
EcFeed
Test case generation
Algorithms +
Rules +
TC-filters
Expected_output, input_1, input_2, ..., input_n
Expected_output, input_1, input_2, ..., input_n
Expected_output, input_1, input_2, ..., input_n
Expected_output, input_1, input_2, ..., input_n
...
Test parameter binding
Evaluate test result
Export test result
 CSV
 DB tables
 Slack
Execute service API
Evaluation of benefits
Expected benefits:
 Automated (smart) test case generation
 Traceability between requirements and tests
 Adjustable test coverage  束right tests for
particular change損
 Cost-efficient maintenance of tests by changing
the models instead of tests
Lesson learned
 Need to have a suitable use case for MBT implementation.
 Completeness/correctness of the model is crucial  hard to find
errors in models. Might lead to defect leakage or false alarm.
MBT technique
 Require good domain knowledge and requirement -> Involve PO?
 Define sufficient number of rules and filters to facilitate effective test
 Automated tests must be parameterized for easy binding
 Require modelling skill and anticipate overhead
Implementation
 Smooth integration between MBT-tool ecFeed and SoapUI
 Improvement areas: make MBT-tool more intuitive and 束test-friendly損
Tool integration
Our roadmap
Manual
test
Automated
test
Ad-hoc
Rapid and
time efficient
Adaptive
test
Smart and
learning
Continuous
test
Model based
test
Timely and
event-based
Targeted and
effective
ReadyAPI
+ integration
support with
Azure Devops
Thank you
Email: minh.nguyen@questigate.no
Web: www.questigate.no
LinkedIn: https://www.linkedin.com/in/minhng67/

More Related Content

Similar to 20220914-MBT-Experiences-SB1-final.pptx (20)

Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
KMS Technology
AI Class Topic 2: Step-by-step Process for AI development
AI Class Topic 2: Step-by-step Process for AI developmentAI Class Topic 2: Step-by-step Process for AI development
AI Class Topic 2: Step-by-step Process for AI development
Value Amplify Consulting
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
Shiva Nejati
Software metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. MohiteSoftware metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. Mohite
Zeal Education Society, Pune
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
Maitree Patel
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
Praveen Penumathsa
(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution Deployment(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution Deployment
BIOVIA
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
Daniel Ionita
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
FarjanaParvin5
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
Gregory Solovey
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
Moataz Nabil
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
QA or the Highway
SOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORT
SOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORTSOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORT
SOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORT
AshishSasidharan4
Building successful and secure products with AI and ML
Building successful and secure products with AI and MLBuilding successful and secure products with AI and ML
Building successful and secure products with AI and ML
Simon Lia-Jonassen
Model Based Software Testing
Model Based Software TestingModel Based Software Testing
Model Based Software Testing
Esin Karaman
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resume
chowdappa o
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resume
chowdappa o
Checking Model Validity and Verification.pptx
Checking Model Validity and Verification.pptxChecking Model Validity and Verification.pptx
Checking Model Validity and Verification.pptx
AssadLeo1
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
Minh Nguyen
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
Georgina Tilby
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
KMS Technology
AI Class Topic 2: Step-by-step Process for AI development
AI Class Topic 2: Step-by-step Process for AI developmentAI Class Topic 2: Step-by-step Process for AI development
AI Class Topic 2: Step-by-step Process for AI development
Value Amplify Consulting
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
Shiva Nejati
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
Maitree Patel
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
Praveen Penumathsa
(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution Deployment(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution Deployment
BIOVIA
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
Daniel Ionita
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
FarjanaParvin5
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
Gregory Solovey
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
Moataz Nabil
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
QA or the Highway
SOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORT
SOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORTSOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORT
SOLUTION MANUAL OF WIRELESS COMMUNICATIONS BY THEODORE S RAPPAPORT
AshishSasidharan4
Building successful and secure products with AI and ML
Building successful and secure products with AI and MLBuilding successful and secure products with AI and ML
Building successful and secure products with AI and ML
Simon Lia-Jonassen
Model Based Software Testing
Model Based Software TestingModel Based Software Testing
Model Based Software Testing
Esin Karaman
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resume
chowdappa o
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resume
chowdappa o
Checking Model Validity and Verification.pptx
Checking Model Validity and Verification.pptxChecking Model Validity and Verification.pptx
Checking Model Validity and Verification.pptx
AssadLeo1
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
Minh Nguyen
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
Georgina Tilby

More from Minh Nguyen (11)

SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdfSB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
Minh Nguyen
Smart-APITest.pdf
Smart-APITest.pdfSmart-APITest.pdf
Smart-APITest.pdf
Minh Nguyen
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
Minh Nguyen
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptx
Minh Nguyen
20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdf20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdf
Minh Nguyen
20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing 20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing
Minh Nguyen
20210428 dnd medlemsm淡te-api_testing_sb1
20210428 dnd medlemsm淡te-api_testing_sb120210428 dnd medlemsm淡te-api_testing_sb1
20210428 dnd medlemsm淡te-api_testing_sb1
Minh Nguyen
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
Minh Nguyen
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
Minh Nguyen
Risiko basert testing i praksis
Risiko basert testing i praksisRisiko basert testing i praksis
Risiko basert testing i praksis
Minh Nguyen
Testpub #11_12.12.2013 - Risikobasert testing
Testpub #11_12.12.2013 - Risikobasert testingTestpub #11_12.12.2013 - Risikobasert testing
Testpub #11_12.12.2013 - Risikobasert testing
Minh Nguyen
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdfSB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
Minh Nguyen
Smart-APITest.pdf
Smart-APITest.pdfSmart-APITest.pdf
Smart-APITest.pdf
Minh Nguyen
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
Minh Nguyen
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptx
Minh Nguyen
20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdf20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdf
Minh Nguyen
20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing 20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing
Minh Nguyen
20210428 dnd medlemsm淡te-api_testing_sb1
20210428 dnd medlemsm淡te-api_testing_sb120210428 dnd medlemsm淡te-api_testing_sb1
20210428 dnd medlemsm淡te-api_testing_sb1
Minh Nguyen
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
Minh Nguyen
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
Minh Nguyen
Risiko basert testing i praksis
Risiko basert testing i praksisRisiko basert testing i praksis
Risiko basert testing i praksis
Minh Nguyen
Testpub #11_12.12.2013 - Risikobasert testing
Testpub #11_12.12.2013 - Risikobasert testingTestpub #11_12.12.2013 - Risikobasert testing
Testpub #11_12.12.2013 - Risikobasert testing
Minh Nguyen

Recently uploaded (20)

How Biometric Attendance Systems Reduce Payroll Fraud & Costs?
How Biometric Attendance Systems Reduce Payroll Fraud & Costs?How Biometric Attendance Systems Reduce Payroll Fraud & Costs?
How Biometric Attendance Systems Reduce Payroll Fraud & Costs?
Star Link Communication Pvt Ltd
salesforce development services - Alt digital
salesforce development services - Alt digitalsalesforce development services - Alt digital
salesforce development services - Alt digital
Alt Digital Technologies
Adobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM Forms
Adobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM FormsAdobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM Forms
Adobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM Forms
BradBedford3
Symantec Endpoint Protection Presentation 際際滷
Symantec Endpoint Protection Presentation 際際滷Symantec Endpoint Protection Presentation 際際滷
Symantec Endpoint Protection Presentation 際際滷
VLODI
OutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdfOutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdf
mail496323
Evaluation as an Essential Component of the Generative AI Lifecycle
Evaluation as an Essential Component of the Generative AI LifecycleEvaluation as an Essential Component of the Generative AI Lifecycle
Evaluation as an Essential Component of the Generative AI Lifecycle
Maxim Salnikov
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
Shubham Joshi
Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....
Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....
Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....
elucidata1
The Large Language Model is not doing what you think it is.
The Large Language Model is not doing what you think it is.The Large Language Model is not doing what you think it is.
The Large Language Model is not doing what you think it is.
Alex Ferguson
Best Solution For Import and Export Contacts from VCF to CSV
Best Solution For Import and Export Contacts from VCF to CSVBest Solution For Import and Export Contacts from VCF to CSV
Best Solution For Import and Export Contacts from VCF to CSV
sung231
VADY: Revolutionizing Business Intelligence with AI-Powered Insights
VADY: Revolutionizing Business Intelligence with AI-Powered InsightsVADY: Revolutionizing Business Intelligence with AI-Powered Insights
VADY: Revolutionizing Business Intelligence with AI-Powered Insights
NewFangledVision
Web Development Services by Icubetechnolabs.pdf
Web Development Services by Icubetechnolabs.pdfWeb Development Services by Icubetechnolabs.pdf
Web Development Services by Icubetechnolabs.pdf
ICUBETECHNOLABS
Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio, Inc.
Odoo WooCommerce Connector, Multiple Woocommerce store connection
Odoo WooCommerce Connector,  Multiple Woocommerce store connectionOdoo WooCommerce Connector,  Multiple Woocommerce store connection
Odoo WooCommerce Connector, Multiple Woocommerce store connection
Aagam infotech
Metaverse Meetup: Explore Mulesoft MAC Project
Metaverse Meetup: Explore  Mulesoft MAC ProjectMetaverse Meetup: Explore  Mulesoft MAC Project
Metaverse Meetup: Explore Mulesoft MAC Project
GiulioPicchi
Shooman_11 Software Reliability (1).pptx
Shooman_11 Software Reliability (1).pptxShooman_11 Software Reliability (1).pptx
Shooman_11 Software Reliability (1).pptx
NAZMUSSAKIBMDADIL200
Trivium: A Framework For Symbolic Metaprogramming in C++
Trivium: A Framework For Symbolic Metaprogramming in C++Trivium: A Framework For Symbolic Metaprogramming in C++
Trivium: A Framework For Symbolic Metaprogramming in C++
andreasmaniotis
Software Development Services: A Complete Guide
Software Development Services: A Complete GuideSoftware Development Services: A Complete Guide
Software Development Services: A Complete Guide
Andrew Wade
Data Storytelling for Portfolio Leaders - Webinar
Data Storytelling for Portfolio Leaders - WebinarData Storytelling for Portfolio Leaders - Webinar
Data Storytelling for Portfolio Leaders - Webinar
OnePlan Solutions
Top 10 Pivotal Tracker Alternatives in 2025
Top 10 Pivotal Tracker Alternatives in 2025Top 10 Pivotal Tracker Alternatives in 2025
Top 10 Pivotal Tracker Alternatives in 2025
Orangescrum
How Biometric Attendance Systems Reduce Payroll Fraud & Costs?
How Biometric Attendance Systems Reduce Payroll Fraud & Costs?How Biometric Attendance Systems Reduce Payroll Fraud & Costs?
How Biometric Attendance Systems Reduce Payroll Fraud & Costs?
Star Link Communication Pvt Ltd
salesforce development services - Alt digital
salesforce development services - Alt digitalsalesforce development services - Alt digital
salesforce development services - Alt digital
Alt Digital Technologies
Adobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM Forms
Adobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM FormsAdobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM Forms
Adobe Marketo Engage Champion Deep Dive: Extending Marketo With AEM Forms
BradBedford3
Symantec Endpoint Protection Presentation 際際滷
Symantec Endpoint Protection Presentation 際際滷Symantec Endpoint Protection Presentation 際際滷
Symantec Endpoint Protection Presentation 際際滷
VLODI
OutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdfOutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdf
mail496323
Evaluation as an Essential Component of the Generative AI Lifecycle
Evaluation as an Essential Component of the Generative AI LifecycleEvaluation as an Essential Component of the Generative AI Lifecycle
Evaluation as an Essential Component of the Generative AI Lifecycle
Maxim Salnikov
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
Shubham Joshi
Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....
Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....
Breaking Barriers in the use of Biomedical Data- Multi-modal Data Management....
elucidata1
The Large Language Model is not doing what you think it is.
The Large Language Model is not doing what you think it is.The Large Language Model is not doing what you think it is.
The Large Language Model is not doing what you think it is.
Alex Ferguson
Best Solution For Import and Export Contacts from VCF to CSV
Best Solution For Import and Export Contacts from VCF to CSVBest Solution For Import and Export Contacts from VCF to CSV
Best Solution For Import and Export Contacts from VCF to CSV
sung231
VADY: Revolutionizing Business Intelligence with AI-Powered Insights
VADY: Revolutionizing Business Intelligence with AI-Powered InsightsVADY: Revolutionizing Business Intelligence with AI-Powered Insights
VADY: Revolutionizing Business Intelligence with AI-Powered Insights
NewFangledVision
Web Development Services by Icubetechnolabs.pdf
Web Development Services by Icubetechnolabs.pdfWeb Development Services by Icubetechnolabs.pdf
Web Development Services by Icubetechnolabs.pdf
ICUBETECHNOLABS
Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio Webinar | Whats New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio, Inc.
Odoo WooCommerce Connector, Multiple Woocommerce store connection
Odoo WooCommerce Connector,  Multiple Woocommerce store connectionOdoo WooCommerce Connector,  Multiple Woocommerce store connection
Odoo WooCommerce Connector, Multiple Woocommerce store connection
Aagam infotech
Metaverse Meetup: Explore Mulesoft MAC Project
Metaverse Meetup: Explore  Mulesoft MAC ProjectMetaverse Meetup: Explore  Mulesoft MAC Project
Metaverse Meetup: Explore Mulesoft MAC Project
GiulioPicchi
Shooman_11 Software Reliability (1).pptx
Shooman_11 Software Reliability (1).pptxShooman_11 Software Reliability (1).pptx
Shooman_11 Software Reliability (1).pptx
NAZMUSSAKIBMDADIL200
Trivium: A Framework For Symbolic Metaprogramming in C++
Trivium: A Framework For Symbolic Metaprogramming in C++Trivium: A Framework For Symbolic Metaprogramming in C++
Trivium: A Framework For Symbolic Metaprogramming in C++
andreasmaniotis
Software Development Services: A Complete Guide
Software Development Services: A Complete GuideSoftware Development Services: A Complete Guide
Software Development Services: A Complete Guide
Andrew Wade
Data Storytelling for Portfolio Leaders - Webinar
Data Storytelling for Portfolio Leaders - WebinarData Storytelling for Portfolio Leaders - Webinar
Data Storytelling for Portfolio Leaders - Webinar
OnePlan Solutions
Top 10 Pivotal Tracker Alternatives in 2025
Top 10 Pivotal Tracker Alternatives in 2025Top 10 Pivotal Tracker Alternatives in 2025
Top 10 Pivotal Tracker Alternatives in 2025
Orangescrum

20220914-MBT-Experiences-SB1-final.pptx

  • 1. Experiences in applying model based testing for automated test case generation and execution Minh Nguyen Founder/CEO/Quality Engineer
  • 2. About me Holds a Ph.D. degree in Computer Science in 1997 from Norwegian University of Technology 25 years work experience in software testing and QA. Founder / CEO / Quality Engineer at Questigage. Currently working as contractor at SpareBank 1 Master Data Management team 束Pursuing and seeking for new and innovative way of doing test and QA in smart and effective manner損 Test automation; continuous test execution; model- based test; ML supported test; etc
  • 3. About the talk 01 Context and motivation 02 MBT implementation 03 Lesson learned
  • 4. Test efficiency vs. effectiveness Testing exploring and examining the system to evaluate and prove quantitatively if the quality requirements are met. Challenges: Too much focus on gaining efficiency by test automation and demonstrating test coverage Less attention paid on fact-based identifying test areas which give highest possible test effectiveness
  • 5. MDM at SpareBank 1 (SB1) SB1-MDM Public registers Updates Consolidation SB1 Fagsystemer SB1 Fagsystemer Enterprise systems MDM-usage: 7 millions Customer records 25 Consumers and 2 millions requests/day 12.000 daily updates from public registers at real-time Producers Exposing SB1 Systemer SB1 Systemer Systems MDM-API Consumers Producers MDM-solution: 12 micro-services exposed to Consumers 10 enterprise systems integrated 300 rules: data validation, transformation and merge consolidation Heavy batch transactions 束The most updated and best quality of enterprise data stored in one single place損
  • 6. Challenges Extremely high requirement to data quality Technical complexity - many integration interfaces High frequency of changes to business rules and domain models Increasing number of Consumers with new requirements Increasing number of Enterprise systems joining the consolidated platform Automated regression test suites are constantly growing and changing Frequent hot-fix releases raise a need for rapid verification of the actual change
  • 7. What we want Improve test effectiveness by smart deriving of test scope caused by particular changes and their intrinsic risk Reduce cost of developing and maintaining tests due to constant requirement changes Better control of traceability between business requirements and tests MBT Model based testing ???
  • 8. Model based testing MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated binding Automated execution Automated evaluation Test tool Expected benefits: Automated (smart) test case generation Traceability between requirements and tests Adjustable test coverage 束right tests for particular change損 Cost-efficient maintenance of tests by changing the models instead of tests
  • 9. Example Input parameter: 32 input parameters. Average 3-4 possible input values per parameter which are needed to be verified. Business rules: 60 Field-rule: 1. If SSN is set then CustomerType = PER 2. LastName length shall not exceed 256 characters Cross-field rules: 3. Secondary Citizenship shall not be set if Primary Citizenship is empty 4. If SSN is D-No && PersonStatus = 3 then Sector = 9800 Behaviour-rules: Changes from system A will override changes from system B if the trust level of B is downgraded after X-days
  • 10. Model based testing MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated binding Automated execution Automated evaluation Test tool
  • 11. Input parameter Test case filter Rule Equivalence Class Boundary PublicIdentificationNo: regularSSN d-No orgNo invalid_IdentNo LastName: length_20 length_255 length_256 length_257 Rule_2: if (Citizenship1=null && Citizenship2 != null) { Outcome = false Error_msg = 束Citizenship2 rejected損} Decision Table Logical Operator Rule_1: if (SSN=dNo && PersonStatus=3 && SectorCode = 9800) Outcome = true Exclude(IdentNo.d-no || SectorCode = 9800 || Citizenship1 = NOR ) Fixed_value(IdentNo = orgNo && MaritalStatus = Single && PersonStatus = Resident) Modeling
  • 14. Model based testing MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated binding Automated execution Automated evaluation Test tool
  • 15. Test case generation Parameter = 20 No. possible values 3 No. of possible permutations = 320 (some combinations are not relevant) Still 束Test case explosion損 Objective of test case generation: To derive a set of test cases when being executed will give a necessary and sufficient coverage for a particular purpose. Genererated test cases: o (o1, a1, b3, c2, ...) o (o2, a2, b1, c2, ...) o ... Combinatorial algorithm: o NWise 2 | 3 | .. | n o Cartesian (full coverage) RISK Model element: o Parameter o Rule o TC-filter SCOPE
  • 16. Model based testing MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated binding Automated execution Automated evaluation Test tool
  • 17. Test case execution SoapUI test EcFeed Test case generation Algorithms + Rules + TC-filters Expected_output, input_1, input_2, ..., input_n Expected_output, input_1, input_2, ..., input_n Expected_output, input_1, input_2, ..., input_n Expected_output, input_1, input_2, ..., input_n ... Test parameter binding Evaluate test result Export test result CSV DB tables Slack Execute service API
  • 18. Evaluation of benefits Expected benefits: Automated (smart) test case generation Traceability between requirements and tests Adjustable test coverage 束right tests for particular change損 Cost-efficient maintenance of tests by changing the models instead of tests
  • 19. Lesson learned Need to have a suitable use case for MBT implementation. Completeness/correctness of the model is crucial hard to find errors in models. Might lead to defect leakage or false alarm. MBT technique Require good domain knowledge and requirement -> Involve PO? Define sufficient number of rules and filters to facilitate effective test Automated tests must be parameterized for easy binding Require modelling skill and anticipate overhead Implementation Smooth integration between MBT-tool ecFeed and SoapUI Improvement areas: make MBT-tool more intuitive and 束test-friendly損 Tool integration
  • 20. Our roadmap Manual test Automated test Ad-hoc Rapid and time efficient Adaptive test Smart and learning Continuous test Model based test Timely and event-based Targeted and effective ReadyAPI + integration support with Azure Devops
  • 21. Thank you Email: minh.nguyen@questigate.no Web: www.questigate.no LinkedIn: https://www.linkedin.com/in/minhng67/