DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf•...
Transcript of DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf•...
![Page 1: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/1.jpg)
DSLsandOPEChristianColombo(workwithMarkMicallefandGordonPace)
![Page 2: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/2.jpg)
DSLs
DSLsforTesting
CNLsforMonitoring
![Page 3: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/3.jpg)
DSLs
DSLsforTesting
CNLsforMonitoring
![Page 4: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/4.jpg)
DSLsfortesting• AgiledevelopmentèTestautomation
![Page 5: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/5.jpg)
DSLsfortesting• AgiledevelopmentèTestautomation
Theneedfortestautomation
![Page 6: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/6.jpg)
Existingtechnology:GherkinGiven I am a premium user When I place a bet on a football match And I win the bet Then I will win 10% more than the advertised odds for the match
![Page 7: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/7.jpg)
Testautomation–2challenges• Nonskilledtesters(fortestautomation)• Timepressure
![Page 8: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/8.jpg)
Proposedsolution:• MorestructuredDSL• Easyfornonskilledtesters• Savestime
![Page 9: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/9.jpg)
Manytestingdomains• E-commerce(cart,stock,item,buy,sell,etc)• Games(bonus,points,bet,win,lose,etc)• GUIapps(button,progressbar,label,tap,swipe,etc)
![Page 10: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/10.jpg)
DSLsfortesting
Well-DefinedDomains
UndefinedDomains
AndroidGUIApplications
E-CommerceApplications
GraphicalGames
![Page 11: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/11.jpg)
DSLsfortesting
![Page 12: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/12.jpg)
DSLsfortesting
![Page 13: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/13.jpg)
GenerictestingDSL
![Page 14: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/14.jpg)
ECommerceexample
![Page 15: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/15.jpg)
StructuredDSLsvsGherkin1. Theapproachworksonceagrammarisinplace
a. (Automaticallygenerated)CodehelpersinIDEb. Consistentscripts
2. Morecumbersometoaddnewlanguagefeaturesa. Newfeaturesrequiregrammarmodificationb. Notionoftagging@manualtestslost
3. Specialisedskillsneededforgrammardefinitionandcompilation
4. Wecannot“fudge”anymore(isthisgoodorbad?)
![Page 16: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/16.jpg)
DefinedvsUndefineddomains1. Easytoreachastablelanguagequicklywithwell-defineddomains
2. Youcanquicklygodowntotheleafnodeofthedomainhierarchy
![Page 17: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/17.jpg)
Questions:• Whocurates/ownsthelanguage?• Whateffectwillachangeonthelanguagehaveonexistingscripts?• Howistheprocessoflanguageevolutioncontrolled?• Whomaintainscodegeneratorsandhow?
• Importanttohavemanagementonboard
![Page 18: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/18.jpg)
DSLs
DSLsforTesting
CNLsforMonitoring
![Page 19: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/19.jpg)
CNLsfordataprocessing• Non-technicalpeopleneedtoprocessdatabasedontheirexpertise• Theycannotprogram–evenDSLsmightstillfeeltootechnical
![Page 20: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/20.jpg)
CNLsfordataprocessing• Non-technicalpeopleneedtoprocessdatabasedontheirexpertise• Theycannotprogram–evenDSLsmightstillfeeltootechnical
• Examples:• Businessintelligence
![Page 21: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/21.jpg)
BusinessIntelligence• ThebusinessFacebookpage• Fastresponseexpected• “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”
![Page 22: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/22.jpg)
BusinessIntelligence• ThebusinessFacebookpage• Fastresponseexpected• “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”
• Reviewers’pages• Badreviewsneedtobedamagecontrolled• “Alertmewhenapostonareviewpagementionsmybusinessandgetsmorethan5likes”
![Page 23: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/23.jpg)
BusinessIntelligence• ThebusinessFacebookpage• Fastresponseexpected• “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”
• Reviewers’pages• Badreviewsneedtobedamagecontrolled• “Alertmewhenapostonareviewpagementionsmybusinessandgetsmorethan5likes”
• Advertisingpages• Competitorsarecontinuallyposting• “AlertmewhenacompetitorpostsonanadvertisingpageandIhavenotpostedanythingtoday”
![Page 24: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/24.jpg)
BusinessIntelligence• ThebusinessFacebookpage• Fastresponseexpected• “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”
• Reviewers’pages• Badreviewsneedtobedamagecontrolled• “Alertmewhenapostonareviewpagementionsmybusinessandgetsmorethan5likes”
• Advertisingpages• Competitorsarecontinuallyposting• “AlertmewhenacompetitorpostsonanadvertisingpageandIhavenotpostedanythingtoday”
Offtheshelfsolutionsarenotso
flexible
Customsolutionsareexpensive
![Page 25: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/25.jpg)
CNLsformonitoring• Non-technicalpeoplewanttocreatemonitorsbasedontheirexpertise• DSLsmightstillfeeltootechnical
• Examples:• Businessintelligence• Taxfraud
![Page 26: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/26.jpg)
TaxfraudAuditor
“Findindividualswhodeclaredanaverageincomeoflessthan€3000
forany3sequentialyears”
![Page 27: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/27.jpg)
Taxfraud1.Describearule
2.RuleInterpretation
3.Code
4.Reportfoundcases
5.Reviewfoundcases
DeveloperAuditor
![Page 28: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/28.jpg)
Taxfraud1.Describearule
2.RuleInterpretation
3.Code
4.Reportfoundcases
5.Reviewfoundcases
DeveloperAuditor
Repeatuntilthefraudexpertissatisfied!
![Page 29: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/29.jpg)
Taxfraud1.Describearule
2.RuleInterpretation
3.Code
4.Reportfoundcases
5.Reviewfoundcases
DeveloperAuditor
Repeatuntilthefraudexpertissatisfied!
Manyplaceswherethiscangowrong
![Page 30: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/30.jpg)
Taxfraud1.Describearule
5.Reviewfoundcases
Auditor
Automatic
![Page 31: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/31.jpg)
Solution?• CNLfordomainexpert
![Page 32: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/32.jpg)
Approach:BI
CNLspecification
BIexpert
FBeventstream
![Page 33: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/33.jpg)
Approach:BI
CNLspecification CNL-to-Monitortool
LARVAspecification Larva
BIexpert
FBeventstream
![Page 34: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/34.jpg)
Approach:BI
CNLspecification CNL-to-Monitortool
LARVAspecification Larva
BusinessIntelligenceDashboard
BIexpert
FBeventstream
![Page 35: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/35.jpg)
TaxfraudAuditor
CNLspecification CNL-to-Monitortool
LARVAspecification Larva
Spreadsheetwithsuspiciouscases
Taxdatastream
![Page 36: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/36.jpg)
TaxdatastreamTaxfraudAuditor
CNLspecification CNL-to-Monitortool
LARVAspecification Larva
Spreadsheetwithsuspiciouscases
Inthelongtermmonitoringisfasterthandatabasequery
![Page 37: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/37.jpg)
Lessonslearnt• UsersfounditquiteeasytoexpressthemselvesinCNL• Someexampleswereenoughtogetthemgoing
• GoodUIsupportmakesagreatdifference
• Taxfrauddomainwasmuchmoredifficulttocapture• Containsmorejargon• Canexpress(very)complexrules
![Page 38: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/38.jpg)
OpenPaymentsEcosystemHorizon2020projectShaunAzzopardi,ChristianColombo,GordonJPace,andBrianVella
![Page 39: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/39.jpg)
TravelAgency
TravelAgentCorporateCustomers
Airlines,Hotels,etc
![Page 40: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/40.jpg)
TravelAgency
TravelAgentCorporateCustomers
Airlines,Hotels,etc
Pay-ments
![Page 41: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/41.jpg)
Usingcorporatecreditcards
Flights
Hotel
Transport
![Page 42: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/42.jpg)
Usingcorporatecreditcards
Flights
Hotel
Transport
Reconciliation
![Page 43: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/43.jpg)
One-shotcards
Flights
![Page 44: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/44.jpg)
One-shotcards
Flights
Easyreconciliation
![Page 45: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/45.jpg)
Paymentprogrammesetupcosts
• Implementingcardprocesses• Agreementwithbank• Compliancetolegislation• Auditing• Disputeresolution• ...
![Page 46: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/46.jpg)
Buildingapaymentapplication
TravelAgent
![Page 47: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/47.jpg)
Buildingapaymentapplication
Paymentapplication
TravelAgent
![Page 48: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/48.jpg)
Buildingapaymentapplication
Developer
Paymentapplication
TravelAgent
![Page 49: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/49.jpg)
Buildingapaymentapplication
Serviceprovider(Bank)
Developer
Paymentapplication
TravelAgent
![Page 50: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/50.jpg)
Buildingapaymentapplication
Serviceprovider(Bank)
Developer
Paymentapplication
Programme
(Application)
manager
TravelAgent
![Page 51: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/51.jpg)
OpenPaymentsEcosystem
Serviceprovider
s
Developers
Paymentapplications
Programme
managers
Corporate
customers
![Page 52: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/52.jpg)
OpenPaymentsEcosystem
Serviceprovider
s
Developers
Paymentapplications
Programme
managers
Corporate
customers
ExecutionEnvironment
![Page 53: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/53.jpg)
OpenPaymentsEcosystem
Serviceprovider
s
Developers
Paymentapplications
Programme
managers
Corporate
customers
ExecutionEnvironment
DevelopmentEnvironment
![Page 54: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/54.jpg)
Processgivesrisetoissues
• Istheapplicationlegal?
![Page 55: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/55.jpg)
Processgivesrisetoissues
• Istheapplicationlegal?
• WhichServiceProviderwouldbewillingandabletorunit?
![Page 56: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/56.jpg)
Processgivesrisetoissues
• Istheapplicationlegal?
• WhichServiceProviderwouldbewillingandabletorunit?
• Canapplicationviolateregulationsatruntime?
![Page 57: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/57.jpg)
OpenPaymentsEcosystem+Compliance
Serviceprovider
s
Developers
Paymentapplications
Programme
managers
Corporate
customers
ExecutionEnvironment
Complianceengine
DevelopmentEnvironment
![Page 58: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/58.jpg)
Compliance
1. Checkingcompliancetoregulations
![Page 59: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/59.jpg)
Compliance
1. Checkingcompliancetoregulations
2. Matchingserviceprovidercapabilities
![Page 60: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/60.jpg)
Compliance
1. Checkingcompliancetoregulations
2. Matchingserviceprovidercapabilities
3. Limitingriskforserviceproviders
![Page 61: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/61.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
![Page 62: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/62.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
1.IsthejurisdictiontheUK?
1. Compliancetoregulations2. Capabilitychecking3. Riskmitigation
![Page 63: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/63.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
1.Doestheapplicationfallunderthedefinitionofe-money?
1. Compliancetoregulations2. Capabilitychecking3. Riskmitigation
![Page 64: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/64.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
1.Arefundsredeemablethroughtheapplication?
1. Compliancetoregulations2. Capabilitychecking3. Riskmitigation
![Page 65: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/65.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
2.Canserviceprovidersupporte-moneyapplications?
1. Compliancetoregulations2. Capabilitychecking3. Riskmitigation
![Page 66: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/66.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
1.Iscorrectvaluegiventotheuser
1. Compliancetoregulations2. Capabilitychecking3. Riskmitigation
![Page 67: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/67.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
3.Howmanyfundsareallowedoninstruments?
1. Compliancetoregulations2. Capabilitychecking3. Riskmitigation
![Page 68: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/68.jpg)
OpenPaymentsEcosystem+Compliance
Serviceprovider
s
Developers
Paymentapplications
Programme
managers
Corporate
customers
ExecutionEnvironment
Complianceengine
DevelopmentEnvironment
Complianceupfront?
![Page 69: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/69.jpg)
ComplianceChallenges
● Notallpropertiesarecheckableupfront Implication:SAnotenough
![Page 70: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/70.jpg)
ComplianceChallenges
● Notallpropertiesarecheckableupfront
● Notallinformationisavailable–onlythemodeloftheapplication
Implication:SAnotenough
Implication:SAcanonlybedoneonmodel
![Page 71: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/71.jpg)
ComplianceChallenges
● Notallpropertiesarecheckableupfront
● Notallinformationisavailable–onlythemodeloftheapplication
● Wecannottrusttheapplication(itisrunbythirdparty)
Implication:SAnotenough
Implication:SAcanonlybedoneonmodel
Implication:Wehavetoverifymodeladherenceatruntime
![Page 72: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/72.jpg)
Model
Developersubmitsmodelofapplicationratherthanimplementation
![Page 73: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/73.jpg)
Model
Developersubmitsmodelofapplicationratherthanimplementation
Staticcheckthemodel
![Page 74: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/74.jpg)
Model-Implementation
Implementation
Runtimecheckimplementationagainst
model
![Page 75: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/75.jpg)
Runtimeverification
Implementation
Runtimecheckimplementationagainst
model
Runtimeverifyremainingchecks,eg:limits,atparvalue,delays
![Page 76: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/76.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
2.Canserviceprovidersupporte-moneyapplications?
1.IsthejurisdictiontheUK?
1.Doestheapplicationfallunderthedefinitionofe-money?
Staticcheckthemodel
1.Arefundsredeemablethroughtheapplication?
![Page 77: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/77.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
1.Doestheapplicationfallunderthedefinitionofe-money?
StaticcheckthemodelRuntimecheck
implementationagainstmodel
![Page 78: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/78.jpg)
Example
UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.
3.Howmanyfundsareallowedoninstruments?
1.Iscorrectvaluegiventotheuser
Staticcheckthemodel
Runtimeverifyremainingchecks,
eg:limits,atparvalue,delays
![Page 79: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/79.jpg)
Whataboutthemaths?
![Page 80: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/80.jpg)
CombiningStaticandDynamicAnalysis
![Page 81: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/81.jpg)
CombiningStaticandDynamicAnalysis
![Page 82: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/82.jpg)
![Page 83: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/83.jpg)
Integratingthemodel
![Page 84: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/84.jpg)
Integratingthemodel
![Page 85: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/85.jpg)
![Page 86: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/86.jpg)
![Page 87: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/87.jpg)
Quotientoperatoronthemodel
![Page 88: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/88.jpg)
![Page 89: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:](https://reader033.fdocuments.net/reader033/viewer/2022060521/60500a4d49bee55a4c60021d/html5/thumbnails/89.jpg)
Conclusions
• Loadsofworkahead!!