SlideShare a Scribd company logo
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 Production
Provectus
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
Kasun Ranga Wijeweera
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilities
Allan D. Butler
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
Kasun Ranga Wijeweera
 
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
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
Elmar 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 2016
Modelon
 
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 Systems
Lionel 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 Software
Praveen 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 Pipeline
Michael Gerke
 
Business Process Quality at Citrix
Business Process Quality at CitrixBusiness Process Quality at Citrix
Business Process Quality at Citrix
Worksoft
 
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 Prediction
Sung Kim
 
Machine learning in production
Machine learning in productionMachine learning in production
Machine learning in production
Turi, 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.pdf
Minh Nguyen
 
Smart-APITest.pdf
Smart-APITest.pdfSmart-APITest.pdf
Smart-APITest.pdf
Minh 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.pptx
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 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

Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 

Recently uploaded (20)

Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 

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