SlideShare a Scribd company logo
1 of 14
Assertive Data-Driven test
Automation for Web Services
SoapUI Automation
 Any solution needs to encompass:
◦ Scalability – easy to expand the (test/Web service)
collection
◦ Assertiveness – provides strong outcome assertions, at
Response field level
◦ Accessibility – easy to use, can be used by a wide range
of roles (not just the “specialist”)
◦ Maintainability – easy to maintain the codebase, easy to
maintain the detail & scope of tests
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 How to achieve these objectives?
◦ Develop our own framework
 “Cost” of production – relatively high
 “Cost” of ownership – support, maintenance; relatively high
◦ Leverage a commercial tool
 “Cost” of production – relatively low
 “Cost” of ownership – relatively low
◦ The solution presented here is a variation of the “own framework”
◦ Specific additional benefits:
 High accessibility – BAs, POs and junior project actors. Involve these other roles in the quality story
using a branded tool that is known
 High extensibility – grow tests easily
 Strong validation – takes account of response variations and details
 Business & Tech Actors can get involved – commercial tool which they can use directly
 Still OK for use in CI pipeline
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 In this presentation we look at 2nd option ->
Leverage a commercial tools
 Use SoapUI (free version) – no licencing issues in the
enterprise 
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 Architectural Use Cases:
◦ Test a range of Web Services in detail
◦ Separate the concerns of “data” and “test”
◦ Want to validate the response in detail
 Not just “error code = pass” style
 Need to specify clearly the Request (RQ) part
 Need to specify clearly the Response (RS) part
 Both parts need to deal with messages at the field level
◦ Want the solution to play in an Agile project setting
◦ Want solution to play in DevOps/CI pipeline
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 Overview – the “data” part
 The Excel Tab Pages represent individual “test case collection” (operation tests) that need to be covered
 Each “Name” cell marks an individual test to be applied to an operation – could be a number of “cases” defined up to “stop” word
 Example Web Service: (https://api.flightstats.com:443/flex/flightstatus/soap/v2/airportService)
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 Overview – the architecture
 Require: an exemplar for both RQ and RS for each WS under test
 SoapUI augmented by scripts (Groovy) as well as a specialist Java object
 Java object does all the “heavy lifting” – binding external data and exemplars together to compose a test
 Java object contains the validation logic for tests – applied as specified by external data/test
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
Data
driving
spreadsheet
SoapUI
Scripts
Java object
Web
Service
WS RQ
Exemplar
WS RS
Exemplar
1
N
N
 Overview - the RQ Exemplar
 File naming convention: {InterfaceVendor}_{InterfaceCollection}_{Version}_ExemplarRQ.xml
 Each of the “value” parts in the request is specified with unique names in the form:
◦ ${aaaa.bbbb.cccc…..}
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
set the scene, the automated data-driven platform proposed can be visualised as shown below:
 Overview – the RS Exemplar
 {InterfaceVendor}_{InterfaceCollection}_{Version}_ExemplarRS.xml
 construct from a SoapUI dump file or by copy-pasting directly from SoapUI response window, using any valid RQ for the
operation
 exemplar is used to get the correct set of response namespaces for use in test validation process
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 SoapUI project Layout
 A number of Groovy steps are used in each test case to facilitate the test (starred elements above)
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 Groovy Scripts
◦ Interact with Hub object where the “heavy lifting” is done
◦ Setup the test
◦ Build the specific RQ given the external data and RQ exemplar
◦ Performs the specific RS validation given the external data and RS
exemplar
◦ Performs simple reporting of test outcome
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 Outcome
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 Possible Improvements
◦ Extend to cover RESTful Web Services
◦ Incorporate a better reporting approach
 Extent ?: https://extentreports.com/
◦ Extend to provide test annotations
 Scope tests within a DevOps pipeline
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
 Want to know more?
 https://www.codeproject.com/Articles/1110799/Data-Driven-Web-Service-Testing-with-Assertive-Val
 e: dharrison_ch@yahoo.co.uk
Test Automation of Web Services
(c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]

More Related Content

Similar to Data-Driven SoapUI Test Automation

Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testingsthicks14
 
Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...CA Technologies
 
Test-Driven Development Introduction
Test-Driven Development IntroductionTest-Driven Development Introduction
Test-Driven Development IntroductionSamsung Electronics
 
How to Study for VMware 5V0-61.22 Certification Exam?
How to Study for VMware 5V0-61.22 Certification Exam?How to Study for VMware 5V0-61.22 Certification Exam?
How to Study for VMware 5V0-61.22 Certification Exam?AdinaCoyle
 
Javascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsJavascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsSalesforce Developers
 
CA Service Virtualization vs mocks stubs
CA Service Virtualization vs mocks stubsCA Service Virtualization vs mocks stubs
CA Service Virtualization vs mocks stubsAlan Baptista
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing ApproachHarshJ
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing ApproachHarshaVJoshi
 
SQL Server Reporting Services Training
SQL Server Reporting Services TrainingSQL Server Reporting Services Training
SQL Server Reporting Services TrainingRainer Stropek
 
Building Sustainable Design Systems
Building Sustainable Design SystemsBuilding Sustainable Design Systems
Building Sustainable Design SystemsUXDXConf
 
Raj bharat mcts certified 5 + yrs exp dotnet professonal
Raj bharat mcts certified 5 + yrs exp dotnet professonalRaj bharat mcts certified 5 + yrs exp dotnet professonal
Raj bharat mcts certified 5 + yrs exp dotnet professonalRaj Bharat
 
Testing with test_complete
Testing with test_completeTesting with test_complete
Testing with test_completebinuiweb
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCAST
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Reach End Users With Next Generation Web Applications
Reach End Users With Next Generation Web ApplicationsReach End Users With Next Generation Web Applications
Reach End Users With Next Generation Web ApplicationsJeff Blankenburg
 
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationMark Gu
 

Similar to Data-Driven SoapUI Test Automation (20)

Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
 
Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...
 
Test-Driven Development Introduction
Test-Driven Development IntroductionTest-Driven Development Introduction
Test-Driven Development Introduction
 
How to Study for VMware 5V0-61.22 Certification Exam?
How to Study for VMware 5V0-61.22 Certification Exam?How to Study for VMware 5V0-61.22 Certification Exam?
How to Study for VMware 5V0-61.22 Certification Exam?
 
Javascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsJavascript-heavy Salesforce Applications
Javascript-heavy Salesforce Applications
 
CA Service Virtualization vs mocks stubs
CA Service Virtualization vs mocks stubsCA Service Virtualization vs mocks stubs
CA Service Virtualization vs mocks stubs
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
SQL Server Reporting Services Training
SQL Server Reporting Services TrainingSQL Server Reporting Services Training
SQL Server Reporting Services Training
 
Soa Test Methodology
Soa Test MethodologySoa Test Methodology
Soa Test Methodology
 
Building Sustainable Design Systems
Building Sustainable Design SystemsBuilding Sustainable Design Systems
Building Sustainable Design Systems
 
Raj bharat mcts certified 5 + yrs exp dotnet professonal
Raj bharat mcts certified 5 + yrs exp dotnet professonalRaj bharat mcts certified 5 + yrs exp dotnet professonal
Raj bharat mcts certified 5 + yrs exp dotnet professonal
 
White paper ready api
White paper  ready apiWhite paper  ready api
White paper ready api
 
Testing with test_complete
Testing with test_completeTesting with test_complete
Testing with test_complete
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST Highlight
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Reach End Users With Next Generation Web Applications
Reach End Users With Next Generation Web ApplicationsReach End Users With Next Generation Web Applications
Reach End Users With Next Generation Web Applications
 
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web Application
 

More from David Harrison

SchemaStudioTypeLandscape_Article.pdf
SchemaStudioTypeLandscape_Article.pdfSchemaStudioTypeLandscape_Article.pdf
SchemaStudioTypeLandscape_Article.pdfDavid Harrison
 
PhoenixRisingArticle.pdf
PhoenixRisingArticle.pdfPhoenixRisingArticle.pdf
PhoenixRisingArticle.pdfDavid Harrison
 
IntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdfIntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdfDavid Harrison
 
Processor Refactoring.pdf
Processor Refactoring.pdfProcessor Refactoring.pdf
Processor Refactoring.pdfDavid Harrison
 
IntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdfIntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdfDavid Harrison
 
Generation_XSD_Article - Part 4.pdf
Generation_XSD_Article - Part 4.pdfGeneration_XSD_Article - Part 4.pdf
Generation_XSD_Article - Part 4.pdfDavid Harrison
 
PhoenixRisingArticle.pdf
PhoenixRisingArticle.pdfPhoenixRisingArticle.pdf
PhoenixRisingArticle.pdfDavid Harrison
 
Generation_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfGeneration_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfDavid Harrison
 
Generation_XSD_Article - Part 2.pdf
Generation_XSD_Article - Part 2.pdfGeneration_XSD_Article - Part 2.pdf
Generation_XSD_Article - Part 2.pdfDavid Harrison
 
Generation_XSD_Article.docx
Generation_XSD_Article.docxGeneration_XSD_Article.docx
Generation_XSD_Article.docxDavid Harrison
 
Selenium Testing @ Agile Speed
Selenium Testing @ Agile SpeedSelenium Testing @ Agile Speed
Selenium Testing @ Agile SpeedDavid Harrison
 
Workflow Test Automation
Workflow Test AutomationWorkflow Test Automation
Workflow Test AutomationDavid Harrison
 
Et sensus agile documentation
Et sensus   agile documentationEt sensus   agile documentation
Et sensus agile documentationDavid Harrison
 

More from David Harrison (16)

SchemaStudioTypeLandscape_Article.pdf
SchemaStudioTypeLandscape_Article.pdfSchemaStudioTypeLandscape_Article.pdf
SchemaStudioTypeLandscape_Article.pdf
 
PhoenixRisingArticle.pdf
PhoenixRisingArticle.pdfPhoenixRisingArticle.pdf
PhoenixRisingArticle.pdf
 
IntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdfIntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdf
 
Processor Refactoring.pdf
Processor Refactoring.pdfProcessor Refactoring.pdf
Processor Refactoring.pdf
 
PagesToGo.pdf
PagesToGo.pdfPagesToGo.pdf
PagesToGo.pdf
 
IntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdfIntoTheNebulaArticle.pdf
IntoTheNebulaArticle.pdf
 
Generation_XSD_Article - Part 4.pdf
Generation_XSD_Article - Part 4.pdfGeneration_XSD_Article - Part 4.pdf
Generation_XSD_Article - Part 4.pdf
 
PhoenixRisingArticle.pdf
PhoenixRisingArticle.pdfPhoenixRisingArticle.pdf
PhoenixRisingArticle.pdf
 
Generation_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfGeneration_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdf
 
Generation_XSD_Article - Part 2.pdf
Generation_XSD_Article - Part 2.pdfGeneration_XSD_Article - Part 2.pdf
Generation_XSD_Article - Part 2.pdf
 
Generation_XSD_Article.docx
Generation_XSD_Article.docxGeneration_XSD_Article.docx
Generation_XSD_Article.docx
 
High sierra part 1
High sierra part 1High sierra part 1
High sierra part 1
 
Selenium Testing @ Agile Speed
Selenium Testing @ Agile SpeedSelenium Testing @ Agile Speed
Selenium Testing @ Agile Speed
 
Workflow Test Automation
Workflow Test AutomationWorkflow Test Automation
Workflow Test Automation
 
Et sensus agile documentation
Et sensus   agile documentationEt sensus   agile documentation
Et sensus agile documentation
 
Web Test Automation
Web Test AutomationWeb Test Automation
Web Test Automation
 

Recently uploaded

(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
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

(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...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

Data-Driven SoapUI Test Automation

  • 1. Assertive Data-Driven test Automation for Web Services SoapUI Automation
  • 2.  Any solution needs to encompass: ◦ Scalability – easy to expand the (test/Web service) collection ◦ Assertiveness – provides strong outcome assertions, at Response field level ◦ Accessibility – easy to use, can be used by a wide range of roles (not just the “specialist”) ◦ Maintainability – easy to maintain the codebase, easy to maintain the detail & scope of tests Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 3.  How to achieve these objectives? ◦ Develop our own framework  “Cost” of production – relatively high  “Cost” of ownership – support, maintenance; relatively high ◦ Leverage a commercial tool  “Cost” of production – relatively low  “Cost” of ownership – relatively low ◦ The solution presented here is a variation of the “own framework” ◦ Specific additional benefits:  High accessibility – BAs, POs and junior project actors. Involve these other roles in the quality story using a branded tool that is known  High extensibility – grow tests easily  Strong validation – takes account of response variations and details  Business & Tech Actors can get involved – commercial tool which they can use directly  Still OK for use in CI pipeline Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 4.  In this presentation we look at 2nd option -> Leverage a commercial tools  Use SoapUI (free version) – no licencing issues in the enterprise  Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 5.  Architectural Use Cases: ◦ Test a range of Web Services in detail ◦ Separate the concerns of “data” and “test” ◦ Want to validate the response in detail  Not just “error code = pass” style  Need to specify clearly the Request (RQ) part  Need to specify clearly the Response (RS) part  Both parts need to deal with messages at the field level ◦ Want the solution to play in an Agile project setting ◦ Want solution to play in DevOps/CI pipeline Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 6.  Overview – the “data” part  The Excel Tab Pages represent individual “test case collection” (operation tests) that need to be covered  Each “Name” cell marks an individual test to be applied to an operation – could be a number of “cases” defined up to “stop” word  Example Web Service: (https://api.flightstats.com:443/flex/flightstatus/soap/v2/airportService) Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 7.  Overview – the architecture  Require: an exemplar for both RQ and RS for each WS under test  SoapUI augmented by scripts (Groovy) as well as a specialist Java object  Java object does all the “heavy lifting” – binding external data and exemplars together to compose a test  Java object contains the validation logic for tests – applied as specified by external data/test Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk] Data driving spreadsheet SoapUI Scripts Java object Web Service WS RQ Exemplar WS RS Exemplar 1 N N
  • 8.  Overview - the RQ Exemplar  File naming convention: {InterfaceVendor}_{InterfaceCollection}_{Version}_ExemplarRQ.xml  Each of the “value” parts in the request is specified with unique names in the form: ◦ ${aaaa.bbbb.cccc…..} Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk] set the scene, the automated data-driven platform proposed can be visualised as shown below:
  • 9.  Overview – the RS Exemplar  {InterfaceVendor}_{InterfaceCollection}_{Version}_ExemplarRS.xml  construct from a SoapUI dump file or by copy-pasting directly from SoapUI response window, using any valid RQ for the operation  exemplar is used to get the correct set of response namespaces for use in test validation process Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 10.  SoapUI project Layout  A number of Groovy steps are used in each test case to facilitate the test (starred elements above) Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 11.  Groovy Scripts ◦ Interact with Hub object where the “heavy lifting” is done ◦ Setup the test ◦ Build the specific RQ given the external data and RQ exemplar ◦ Performs the specific RS validation given the external data and RS exemplar ◦ Performs simple reporting of test outcome Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 12.  Outcome Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 13.  Possible Improvements ◦ Extend to cover RESTful Web Services ◦ Incorporate a better reporting approach  Extent ?: https://extentreports.com/ ◦ Extend to provide test annotations  Scope tests within a DevOps pipeline Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]
  • 14.  Want to know more?  https://www.codeproject.com/Articles/1110799/Data-Driven-Web-Service-Testing-with-Assertive-Val  e: dharrison_ch@yahoo.co.uk Test Automation of Web Services (c) 2017-2020 D. Harrison [dharrison_ch@yahoo.co.uk]