SlideShare a Scribd company logo
Testing web services
(SOAP)
PIOTR BOHO
SENIOR TEST AUTOMATION ENGINEER IN KAINOS
1
2
Agenda
1. What is SOAP webservice – tester perspective
2. Manual testing approach
3. Pro / cons manual tests
4. Automated testing approach:
1. text
2. XML
3. Object
3
What is SOAP webservice
Comunication
4
<request>
Webservice
http://endpoint
OperationAAA
OperationBBB
<response>
Client SOAP
5
What is SOAP webservice
6
request response
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >
<soap:Body>
<GetWeather xmlns="http://www.webserviceX.NET">
<CityName>gdansk</CityName>
<CountryName>poland</CountryName>
</GetWeather>
</soap:Body>
</soap:Envelope>
<soap:Envelope ...>
<CurrentWeather>
<Location>Gdansk-Rebiechowo, Poland (EPGD)
54-23N 018-28E 138M</Location>
<Time>Jun 08, 2015 - 06:00 AM EDT</Time>
<Wind>from the NW</Wind>
<Visibility>greater than 7 mile(s):0</Visibility>
<SkyConditions>partly cloudy</SkyConditions>
<Temperature>60 F (16 C)</Temperature>
<RelativeHumidity>51%</RelativeHumidity>
<Pressure>30.30 in. Hg (1026 hPa)</Pressure>
<Status>Success</Status>
</CurrentWeather>
p
a
y
l
o
a
d
Manual approach – when is sufficient
Valid payloads provided
One time test
The same version of contract
Artifacts (WSDL or client stub classes) not available
8
Manual approach – live scenarios
Requests with frequently changes data e.g. Date
Test flow requires dependent webservise calls
Big responses like 5MB to validate
9TESTING WEB SERVICES (SOAP) - PIOTR BOHO
Manual approach - tests maintanance
problem
Application under development changes !
Refactoring:
◦ Namespaces
◦ Tag names
Functional change:
◦ Move element
◦ Add element
◦ change schema constraint :
optional/required, order of elements, number of elements, change type or pattern
10TESTING WEB SERVICES (SOAP) - PIOTR BOHO
Programming approaches
1.Xml as text – string builders, parametrization, parsers
regex,
2.Xml as DOM – DOM builders and xPath etc
3.Xml as serialized object – OOP and JAXB
11
Payload as serialized object
Request validation using schema from WSDL
Get rid of XML as text – lets use OOP
◦ Early and strict change detection - Compiler
Preparing client stub:
◦ java org.apache.axis.wsdl.WSDL2Java
◦ wsimport from JDK
◦ Maven cxf-codegen-plugin
13
16
17
Q&A
18
org.apache.cxf.jaxws.JaxWsProxyFactoryBean
piotrboh@gmail.com

More Related Content

Similar to Piotr Boho - testing web services (soap)

Java Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAPJava Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAP
IMC Institute
 
Mule webservices in detail
Mule webservices in detailMule webservices in detail
Mule webservices in detail
Shahid Shaik
 
Soap.doc
Soap.docSoap.doc
Soap.doc
xavier john
 
Unify Earth Observation products access with OpenSearch
Unify Earth Observation products access with OpenSearchUnify Earth Observation products access with OpenSearch
Unify Earth Observation products access with OpenSearch
Gasperi Jerome
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
ssuserae0316
 
Introduction to SOAP
Introduction to SOAPIntroduction to SOAP
Introduction to SOAP
Hayati Guvence
 
Top school in gurgaon
Top school in gurgaonTop school in gurgaon
Top school in gurgaon
Edhole.com
 
6 - Past, Present and Future of API Management
6 - Past, Present and Future of API Management6 - Past, Present and Future of API Management
6 - Past, Present and Future of API Management
Kangaroot
 
Esri Web Applications February11 2011
Esri Web Applications February11 2011Esri Web Applications February11 2011
Esri Web Applications February11 2011
delmelle
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic Overview
Rajkattamuri
 
Mule Webservices
Mule WebservicesMule Webservices
Mule Webservices
Shahid Shaik
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic Overview
Khan625
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServices
Khasim Cise
 
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Kevin Lee
 
Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServices
AbdulImrankhan7
 
Soap xp-wg
Soap xp-wgSoap xp-wg
Soap xp-wg
Safwan Hashmi
 

Similar to Piotr Boho - testing web services (soap) (20)

Soap vs rest
Soap vs restSoap vs rest
Soap vs rest
 
Java Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAPJava Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAP
 
Consuming SOAP
Consuming SOAPConsuming SOAP
Consuming SOAP
 
Mule webservices in detail
Mule webservices in detailMule webservices in detail
Mule webservices in detail
 
Soap.doc
Soap.docSoap.doc
Soap.doc
 
Unify Earth Observation products access with OpenSearch
Unify Earth Observation products access with OpenSearchUnify Earth Observation products access with OpenSearch
Unify Earth Observation products access with OpenSearch
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
 
Introduction to SOAP
Introduction to SOAPIntroduction to SOAP
Introduction to SOAP
 
Soap
SoapSoap
Soap
 
Top school in gurgaon
Top school in gurgaonTop school in gurgaon
Top school in gurgaon
 
6 - Past, Present and Future of API Management
6 - Past, Present and Future of API Management6 - Past, Present and Future of API Management
6 - Past, Present and Future of API Management
 
Esri Web Applications February11 2011
Esri Web Applications February11 2011Esri Web Applications February11 2011
Esri Web Applications February11 2011
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic Overview
 
Mule Webservices
Mule WebservicesMule Webservices
Mule Webservices
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic Overview
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServices
 
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServices
 
Soap xp-wg
Soap xp-wgSoap xp-wg
Soap xp-wg
 

More from Trójmiejska Grupa Testerska

Tgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynskiTgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynski
Trójmiejska Grupa Testerska
 
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
Trójmiejska Grupa Testerska
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
Trójmiejska Grupa Testerska
 
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert CharewiczTGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert Charewicz
Trójmiejska Grupa Testerska
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
Trójmiejska Grupa Testerska
 
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz RadkiewiczTGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
Trójmiejska Grupa Testerska
 
TGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr LissTGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr Liss
Trójmiejska Grupa Testerska
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
Trójmiejska Grupa Testerska
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
Trójmiejska Grupa Testerska
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
Trójmiejska Grupa Testerska
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
Trójmiejska Grupa Testerska
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
Trójmiejska Grupa Testerska
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
Trójmiejska Grupa Testerska
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
Trójmiejska Grupa Testerska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
Trójmiejska Grupa Testerska
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
Trójmiejska Grupa Testerska
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
Trójmiejska Grupa Testerska
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
Trójmiejska Grupa Testerska
 
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
Trójmiejska Grupa Testerska
 

More from Trójmiejska Grupa Testerska (20)

Rafal prezentacja testowanie ai
Rafal prezentacja testowanie aiRafal prezentacja testowanie ai
Rafal prezentacja testowanie ai
 
Tgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynskiTgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynski
 
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
 
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert CharewiczTGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert Charewicz
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
 
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz RadkiewiczTGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
 
TGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr LissTGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr Liss
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
 
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 

Piotr Boho - testing web services (soap)

  • 1. Testing web services (SOAP) PIOTR BOHO SENIOR TEST AUTOMATION ENGINEER IN KAINOS 1
  • 2. 2
  • 3. Agenda 1. What is SOAP webservice – tester perspective 2. Manual testing approach 3. Pro / cons manual tests 4. Automated testing approach: 1. text 2. XML 3. Object 3
  • 4. What is SOAP webservice Comunication 4 <request> Webservice http://endpoint OperationAAA OperationBBB <response> Client SOAP
  • 5. 5
  • 6. What is SOAP webservice 6 request response <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > <soap:Body> <GetWeather xmlns="http://www.webserviceX.NET"> <CityName>gdansk</CityName> <CountryName>poland</CountryName> </GetWeather> </soap:Body> </soap:Envelope> <soap:Envelope ...> <CurrentWeather> <Location>Gdansk-Rebiechowo, Poland (EPGD) 54-23N 018-28E 138M</Location> <Time>Jun 08, 2015 - 06:00 AM EDT</Time> <Wind>from the NW</Wind> <Visibility>greater than 7 mile(s):0</Visibility> <SkyConditions>partly cloudy</SkyConditions> <Temperature>60 F (16 C)</Temperature> <RelativeHumidity>51%</RelativeHumidity> <Pressure>30.30 in. Hg (1026 hPa)</Pressure> <Status>Success</Status> </CurrentWeather> p a y l o a d
  • 7. Manual approach – when is sufficient Valid payloads provided One time test The same version of contract Artifacts (WSDL or client stub classes) not available 8
  • 8. Manual approach – live scenarios Requests with frequently changes data e.g. Date Test flow requires dependent webservise calls Big responses like 5MB to validate 9TESTING WEB SERVICES (SOAP) - PIOTR BOHO
  • 9. Manual approach - tests maintanance problem Application under development changes ! Refactoring: ◦ Namespaces ◦ Tag names Functional change: ◦ Move element ◦ Add element ◦ change schema constraint : optional/required, order of elements, number of elements, change type or pattern 10TESTING WEB SERVICES (SOAP) - PIOTR BOHO
  • 10. Programming approaches 1.Xml as text – string builders, parametrization, parsers regex, 2.Xml as DOM – DOM builders and xPath etc 3.Xml as serialized object – OOP and JAXB 11
  • 11. Payload as serialized object Request validation using schema from WSDL Get rid of XML as text – lets use OOP ◦ Early and strict change detection - Compiler Preparing client stub: ◦ java org.apache.axis.wsdl.WSDL2Java ◦ wsimport from JDK ◦ Maven cxf-codegen-plugin 13
  • 12. 16
  • 13. 17