SlideShare a Scribd company logo
1 of 18
Download to read offline
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 QualiTest Norway.
• 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
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 need to rapidly identify a test
suite for a hot-fix at hand (targeted test)
What we want
Improve test effectiveness by smart deriving
of test scope caused by particular changes
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
coupling
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 4 possible input values needed to be tested
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. If Citizenship2 != null then Citizenship1 != null
4. If SSN is D-No && PersonStatus = 3 then Sector = 9800
Behaviour-rules:
Changes from system A will override changes from system B
because field´s 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
coupling
Automated
execution
Automated
evaluation
Test tool
Input parameter
Test case filter
Rule
Equivalence
Class
Boundary
PublicIdentificationNo:
regularSSN
d-No
orgNo
invalidIdentNo
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
Model based testing – MBT
Rules /
Requirements
Model
Test-
oracle
Test cases
Executable
tests SUT
Manual
modeling
Automated
generation
Automated
generation
Automated
coupling
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.
Combinatorial algorithm:
o NWise – 2 | 3 | .. | n
o Cartesian (full coverage)
Model element:
o Parameter
o Rule
o TC-filter
Genererated test cases:
o (o1, a1, b3, c2, ...)
o (o2, a2, b1, c2, ...)
o ...
Model based testing – MBT
Rules /
Requirements
Model
Test-
oracle
Test cases
Executable
tests SUT
Manual
modeling
Automated
generation
Automated
generation
Automated
coupling
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-fil
• DB tables
• Slack
Execute service API
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
v Need to have a suitable usecase for MBT implementation.
v Completeness/correctness of the model is crucial – hard to find
errors in models. Defect leakage or false alarm.
MBT technique
v Require good domain knowledge and requirement -> PO task?
v Define sufficient number of rules and filters to facilitate effective test
v Automated tests must be parameterized for easy binding
v Require modeling skill and anticipate overhead
Implementation
v Smooth integration between MBT-tool ecFeed and SoapUI
v Improvement potentiale to 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
Questions?
Email minh.nguyen@qualitest.no
LinkedIn www.linkedin.com/in/minhng67
Web www.qualitest.no

More Related Content

Similar to ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf

MLOps and Data Quality: Deploying Reliable ML Models in Production
MLOps and Data Quality: Deploying Reliable ML Models in ProductionMLOps and Data Quality: Deploying Reliable ML Models in Production
MLOps and Data Quality: Deploying Reliable ML Models in ProductionProvectus
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilitiesAllan D. Butler
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & ValidationElmar Selbach
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Lionel Briand
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
The art of system and solution testing
The art of system and solution testingThe art of system and solution testing
The art of system and solution testinggaoliang641
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented SoftwarePraveen Penumathsa
 
SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014 SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014 Sujit Ghosh
 
Guiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning PipelineGuiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning PipelineMichael Gerke
 
Business Process Quality at Citrix
Business Process Quality at CitrixBusiness Process Quality at Citrix
Business Process Quality at CitrixWorksoft
 
Requirement verification & validation
Requirement verification & validationRequirement verification & validation
Requirement verification & validationAbdul Basit
 
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...HostedbyConfluent
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect PredictionSung Kim
 
Machine learning in production
Machine learning in productionMachine learning in production
Machine learning in productionTuri, Inc.
 
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)lifove
 

Similar to ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf (20)

MLOps and Data Quality: Deploying Reliable ML Models in Production
MLOps and Data Quality: Deploying Reliable ML Models in ProductionMLOps and Data Quality: Deploying Reliable ML Models in Production
MLOps and Data Quality: Deploying Reliable ML Models in Production
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilities
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 
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
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
The art of system and solution testing
The art of system and solution testingThe art of system and solution testing
The art of system and solution testing
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
 
SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014 SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014
 
Guiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning PipelineGuiding through a typical Machine Learning Pipeline
Guiding through a typical Machine Learning Pipeline
 
Business Process Quality at Citrix
Business Process Quality at CitrixBusiness Process Quality at Citrix
Business Process Quality at Citrix
 
Requirement verification & validation
Requirement verification & validationRequirement verification & validation
Requirement verification & validation
 
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Prediction
 
Machine learning in production
Machine learning in productionMachine learning in production
Machine learning in production
 
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
 

More from 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.pdfMinh Nguyen
 
Smart-APITest.pdf
Smart-APITest.pdfSmart-APITest.pdf
Smart-APITest.pdfMinh Nguyen
 
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.pptxMinh 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.PPTXMinh Nguyen
 
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxMinh Nguyen
 
20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdf20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdfMinh 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_sb1Minh Nguyen
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedMinh Nguyen
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionMinh Nguyen
 
Risiko basert testing i praksis
Risiko basert testing i praksisRisiko basert testing i praksis
Risiko basert testing i praksisMinh 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 testingMinh Nguyen
 

More from Minh Nguyen (12)

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
 
Smart-APITest.pdf
Smart-APITest.pdfSmart-APITest.pdf
Smart-APITest.pdf
 
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
 
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
 
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptx
 
20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdf20211125_Odin_MBT-SB1-final.pdf
20211125_Odin_MBT-SB1-final.pdf
 
20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing 20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing
 
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
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
 
Risiko basert testing i praksis
Risiko basert testing i praksisRisiko basert testing i praksis
Risiko basert testing i praksis
 
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
 

Recently uploaded

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
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
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
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.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
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
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
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
 

Recently uploaded (20)

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
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...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
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
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
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
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
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
 

ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf

  • 1.
  • 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 QualiTest Norway. • 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. 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»
  • 5. 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 need to rapidly identify a test suite for a hot-fix at hand (targeted test)
  • 6. What we want Improve test effectiveness by smart deriving of test scope caused by particular changes 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 ???
  • 7. Model based testing – MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated coupling 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
  • 8. Example Input parameter: • 32 input parameters. • Average 4 possible input values needed to be tested 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. If Citizenship2 != null then Citizenship1 != null 4. If SSN is D-No && PersonStatus = 3 then Sector = 9800 Behaviour-rules: Changes from system A will override changes from system B because field´s trust level of B is downgraded after X-days
  • 9. Model based testing – MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated coupling Automated execution Automated evaluation Test tool
  • 10. Input parameter Test case filter Rule Equivalence Class Boundary PublicIdentificationNo: regularSSN d-No orgNo invalidIdentNo 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
  • 11. Model based testing – MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated coupling Automated execution Automated evaluation Test tool
  • 12. 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. Combinatorial algorithm: o NWise – 2 | 3 | .. | n o Cartesian (full coverage) Model element: o Parameter o Rule o TC-filter Genererated test cases: o (o1, a1, b3, c2, ...) o (o2, a2, b1, c2, ...) o ...
  • 13. Model based testing – MBT Rules / Requirements Model Test- oracle Test cases Executable tests SUT Manual modeling Automated generation Automated generation Automated coupling Automated execution Automated evaluation Test tool
  • 14. 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-fil • DB tables • Slack Execute service API
  • 15. 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
  • 16. Lesson learned v Need to have a suitable usecase for MBT implementation. v Completeness/correctness of the model is crucial – hard to find errors in models. Defect leakage or false alarm. MBT technique v Require good domain knowledge and requirement -> PO task? v Define sufficient number of rules and filters to facilitate effective test v Automated tests must be parameterized for easy binding v Require modeling skill and anticipate overhead Implementation v Smooth integration between MBT-tool ecFeed and SoapUI v Improvement potentiale to make MBT-tool more intuitive and «test- friendly» Tool integration
  • 17. 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