SlideShare a Scribd company logo
Increase Automation to
REST
Understanding Web Services
and how to test them
Shiva and Fiona
Key
Take
Aways:
❏ What Web Services are and why we
use them
❏ How to test a Web Service in
multiple ways
❏ Increased familiarity with test
automation
Web Services
● Interface to provide access to
functionality
● Uses HTTP/HTTPS/SMTP for
communication
● Communicates using
JSON/XML/CSV/Plain Text etc.
When and Why
Same functionality multiple UIs:
● Customise cross platform
● Multiple apps
● Different vendors
Being able to implement one
service and use that functionality
across all these different displays
Let see an example!
...things get clearer when you can see them :)
An Example
Booking a ticket with Orange Bus via
different agencies
RedBus UI TravelYari UI Orange Bus UI
Book
a seat
Book
a seat
Get bus
details
Orange Bus Web Service
Another Example
Website serving request:
Weather Underground
Underlying HTTP request:
curl -X GET
http://api.wunderground.com/api/e8
96598d74613088/conditions/q/zmw:
00000.1.43128.json
REpresentational State
Transfer (REST)
● Uses HTTP(S) for CRUD
operations
● Uniform Resource Identifiers
(URIs)
● New alternative to SOAP
Statelessness
Client
Load Balancer
Node 1 Node 2
What about APIs?
● Part of the web service which
receives requests/sends
responses
● Has one or more endpoints
● Documented contract
Requests and Responses
...lets see some examples...
Request
Request:
URI Method Headers DATA
Response
Response
HeadersResponse Code Data
Requests
Common request types:
● GET
● POST
● PUT
● DELETE
Response Codes
Outcome of a request:
● 1xx - Informational
● 2xx - Success
● 3xx - Redirection
● 4xx - Client Error
● 5xx - Server Error
QAs and Web Services
...based on our experiences testing web services out in the wild...
How testing helps
● Business issues first then the
presentation issues
● Early feedback
● Debug in different layers
● Save time retesting
● More confident app works
● Release more frequently
● Lots more….
The role of QAs
Demo - try it yourself!
Manual in browser test
https://petal-spirit.hyperdev.space/
Postman
Sample Postman Request:
curl
Sample Curl Request:
curl -X GET https://petal-spirit.hyperdev.space/dreams -H "Content-Type: application/json" -i
> curl _
Alternatives?
Cocoa Rest Client
IntelliJ REST
Plugin
Let’s automate it! - Java
Use Library: UniRest (Java)
Sample Test Scenario
public class TestDreams {
@Test
public void testGetDreams() throws UnirestException {
System.out.println("Testing Get Dreams.....");
String url = "https://petal-spirit.hyperdev.space/dreams";
HttpResponse<JsonNode> jsonResponse = Unirest.get(url)
.header("Content-Type",
"application/json").asJson();
Assert.assertEquals(200, jsonResponse.getStatus());
Assert.assertNotNull(jsonResponse.getBody());
}
}
Let’s automate it! - Python
Use Package: Requests (Python)
Sample Test Scenario
import unittest
import requests
class TestDreams(unittest.TestCase):
def setUp(self):
self.url = 'http://petal-spirit.hyperdev.space/dreams'
def test_should_verify_get_dreams(self):
print("Verifying Get Dreams....")
headers = {"Content-Type": "application/json"}
res = requests.get(url=self.url, headers=headers, verify=False)
self.assertEqual(200, res.status_code, "Response code doesn't match")
self.assertTrue(res.json())
Closing notes
...time flies when you’re automating tests...
Suggestions
● Automate as you go
● Cross role pairing
● Integrate with build pipeline
● If the service is broken no need
to test UI
● Spread the word! :)
Key
Take
Aways:
❏ What Web Services are and why we
use them
❏ How to test a Web Service in
multiple ways
❏ Increased familiarity with test
automation
Questions

More Related Content

What's hot

Protractor training
Protractor trainingProtractor training
Protractor training
Sergiy Stotskiy
 
Automated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and SeleniumAutomated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and Selenium
Dev9Com
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
Making Watir and Cucumber an efficient tool for Web UI Automation
Making Watir and Cucumber an efficient tool for Web UI AutomationMaking Watir and Cucumber an efficient tool for Web UI Automation
Making Watir and Cucumber an efficient tool for Web UI Automation
Ruslan Strazhnyk
 
Frame switcher library
Frame switcher libraryFrame switcher library
Frame switcher library
Roman Khachko
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to Protractor
Florian Fesseler
 
APIs: A Better Alternative to Page Objects
APIs: A Better Alternative to Page ObjectsAPIs: A Better Alternative to Page Objects
APIs: A Better Alternative to Page Objects
Sauce Labs
 
How to make your functional tests really quick
How to make your functional tests really quickHow to make your functional tests really quick
How to make your functional tests really quick
Mikalai Alimenkou
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI Tool
Sperasoft
 
Web Hacking Series Part 4
Web Hacking Series Part 4Web Hacking Series Part 4
Web Hacking Series Part 4
Aditya Kamat
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
Ana Sarbescu
 
JavaScript Testing VIA Selenium
JavaScript Testing VIA SeleniumJavaScript Testing VIA Selenium
JavaScript Testing VIA SeleniumAdam Christian
 
JavaSkop - Automation Skopje
JavaSkop - Automation SkopjeJavaSkop - Automation Skopje
JavaSkop - Automation SkopjeAna Sarbescu
 
Selenium for Jobseekers
Selenium for JobseekersSelenium for Jobseekers
Selenium for Jobseekers
Seshu Madhav Chaturvedula
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
Simon Guest
 
An Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using ProtractorAn Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using Protractor
Cubet Techno Labs
 
Join the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.jsJoin the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.js
Seth McLaughlin
 
Web Hacking Series Part 1
Web Hacking Series Part 1Web Hacking Series Part 1
Web Hacking Series Part 1
Aditya Kamat
 
Rest API Testing
Rest API TestingRest API Testing
Rest API Testing
upadhyay_25
 

What's hot (20)

Async
AsyncAsync
Async
 
Protractor training
Protractor trainingProtractor training
Protractor training
 
Automated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and SeleniumAutomated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and Selenium
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
Making Watir and Cucumber an efficient tool for Web UI Automation
Making Watir and Cucumber an efficient tool for Web UI AutomationMaking Watir and Cucumber an efficient tool for Web UI Automation
Making Watir and Cucumber an efficient tool for Web UI Automation
 
Frame switcher library
Frame switcher libraryFrame switcher library
Frame switcher library
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to Protractor
 
APIs: A Better Alternative to Page Objects
APIs: A Better Alternative to Page ObjectsAPIs: A Better Alternative to Page Objects
APIs: A Better Alternative to Page Objects
 
How to make your functional tests really quick
How to make your functional tests really quickHow to make your functional tests really quick
How to make your functional tests really quick
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI Tool
 
Web Hacking Series Part 4
Web Hacking Series Part 4Web Hacking Series Part 4
Web Hacking Series Part 4
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
 
JavaScript Testing VIA Selenium
JavaScript Testing VIA SeleniumJavaScript Testing VIA Selenium
JavaScript Testing VIA Selenium
 
JavaSkop - Automation Skopje
JavaSkop - Automation SkopjeJavaSkop - Automation Skopje
JavaSkop - Automation Skopje
 
Selenium for Jobseekers
Selenium for JobseekersSelenium for Jobseekers
Selenium for Jobseekers
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
An Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using ProtractorAn Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using Protractor
 
Join the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.jsJoin the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.js
 
Web Hacking Series Part 1
Web Hacking Series Part 1Web Hacking Series Part 1
Web Hacking Series Part 1
 
Rest API Testing
Rest API TestingRest API Testing
Rest API Testing
 

Viewers also liked

Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptx
vodQA
 
Test Automation Pyramid
Test Automation PyramidTest Automation Pyramid
Test Automation Pyramid
vodQA
 
Test automation Frame Works
Test automation Frame WorksTest automation Frame Works
Test automation Frame Works
vodQA
 
Stand up
Stand upStand up
Stand up
vodQA
 
Java Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedJava Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedyearninginjava
 
Introduction to User Experience - Mike Biggs
Introduction to User Experience - Mike BiggsIntroduction to User Experience - Mike Biggs
Introduction to User Experience - Mike Biggs
Thoughtworks
 
Ad, Landscape Lights And Applications
Ad, Landscape Lights And ApplicationsAd, Landscape Lights And Applications
Ad, Landscape Lights And Applications
ledindex
 
Training Program Brief 2011
Training Program Brief 2011Training Program Brief 2011
Training Program Brief 2011spring7blue
 
The Will to Adorn - Online Collaboration Site
The Will to Adorn - Online Collaboration SiteThe Will to Adorn - Online Collaboration Site
The Will to Adorn - Online Collaboration Site
willtoadorn
 
Ad Mob Mobile Metrics Jan 10
Ad Mob  Mobile  Metrics  Jan 10Ad Mob  Mobile  Metrics  Jan 10
Ad Mob Mobile Metrics Jan 10
Yuri Itou
 
Palmer warsaw school of economics presentation
Palmer warsaw school of economics presentationPalmer warsaw school of economics presentation
Palmer warsaw school of economics presentationsknsz
 
ฉันเหมือนใคร 6
ฉันเหมือนใคร 6ฉันเหมือนใคร 6
ฉันเหมือนใคร 6popkullatida
 
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
servicEvolution
 
Targets, Estimates, and Commitments
Targets, Estimates, and CommitmentsTargets, Estimates, and Commitments
Targets, Estimates, and Commitments
ufunctional
 
Altima better creditcardform-1.0.0_instructions
Altima better creditcardform-1.0.0_instructionsAltima better creditcardform-1.0.0_instructions
Altima better creditcardform-1.0.0_instructions
Alex Levashov
 

Viewers also liked (20)

Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptx
 
Test Automation Pyramid
Test Automation PyramidTest Automation Pyramid
Test Automation Pyramid
 
Test automation Frame Works
Test automation Frame WorksTest automation Frame Works
Test automation Frame Works
 
Stand up
Stand upStand up
Stand up
 
Java Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedJava Faqs useful for freshers and experienced
Java Faqs useful for freshers and experienced
 
Introduction to User Experience - Mike Biggs
Introduction to User Experience - Mike BiggsIntroduction to User Experience - Mike Biggs
Introduction to User Experience - Mike Biggs
 
Workshop pdf
Workshop pdfWorkshop pdf
Workshop pdf
 
Ad, Landscape Lights And Applications
Ad, Landscape Lights And ApplicationsAd, Landscape Lights And Applications
Ad, Landscape Lights And Applications
 
Training Program Brief 2011
Training Program Brief 2011Training Program Brief 2011
Training Program Brief 2011
 
Edge 2 Architecture
Edge 2 ArchitectureEdge 2 Architecture
Edge 2 Architecture
 
The Will to Adorn - Online Collaboration Site
The Will to Adorn - Online Collaboration SiteThe Will to Adorn - Online Collaboration Site
The Will to Adorn - Online Collaboration Site
 
Ad Mob Mobile Metrics Jan 10
Ad Mob  Mobile  Metrics  Jan 10Ad Mob  Mobile  Metrics  Jan 10
Ad Mob Mobile Metrics Jan 10
 
DOCTYPE HTML PUBLIC
DOCTYPE HTML PUBLICDOCTYPE HTML PUBLIC
DOCTYPE HTML PUBLIC
 
Palmer warsaw school of economics presentation
Palmer warsaw school of economics presentationPalmer warsaw school of economics presentation
Palmer warsaw school of economics presentation
 
ฉันเหมือนใคร 6
ฉันเหมือนใคร 6ฉันเหมือนใคร 6
ฉันเหมือนใคร 6
 
Sport
SportSport
Sport
 
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
 
Targets, Estimates, and Commitments
Targets, Estimates, and CommitmentsTargets, Estimates, and Commitments
Targets, Estimates, and Commitments
 
Altima better creditcardform-1.0.0_instructions
Altima better creditcardform-1.0.0_instructionsAltima better creditcardform-1.0.0_instructions
Altima better creditcardform-1.0.0_instructions
 
1009
10091009
1009
 

Similar to Increase automation to rest

Increase automation to rest
Increase automation to restIncrease automation to rest
Increase automation to rest
Shivaling Sannalli
 
Unify service and ui layer automation bdd way.pptx (1)
Unify service and ui layer automation bdd way.pptx (1)Unify service and ui layer automation bdd way.pptx (1)
Unify service and ui layer automation bdd way.pptx (1)
Shivaling Sannalli
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
POSSCON
 
AngularJS with TypeScript and Windows Azure Mobile Services
AngularJS with TypeScript and Windows Azure Mobile ServicesAngularJS with TypeScript and Windows Azure Mobile Services
AngularJS with TypeScript and Windows Azure Mobile Services
Rainer Stropek
 
cross-platform-assets-based-front-end-architecture
cross-platform-assets-based-front-end-architecturecross-platform-assets-based-front-end-architecture
cross-platform-assets-based-front-end-architecture
Oleksandr Tserkovnyi
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
All Things Open
 
Webservices
WebservicesWebservices
Webservices
Nyros Technologies
 
Architecting single-page front-end apps
Architecting single-page front-end appsArchitecting single-page front-end apps
Architecting single-page front-end appsZohar Arad
 
Computer Science Research Poster Summer 15(1)
Computer Science Research Poster Summer 15(1)Computer Science Research Poster Summer 15(1)
Computer Science Research Poster Summer 15(1)Md Azmain Amin
 
Selenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web ApplicationsSelenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web Applications
qooxdoo
 
Load Impact
Load Impact Load Impact
Load Impact z-999
 
Web Service and Mobile Integrated Day I
Web Service and Mobile Integrated Day IWeb Service and Mobile Integrated Day I
Web Service and Mobile Integrated Day I
Anuchit Chalothorn
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
HarshJ
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing ApproachHarshaVJoshi
 
Android chapter16-web-services
Android chapter16-web-servicesAndroid chapter16-web-services
Android chapter16-web-services
Aravindharamanan S
 
Message in a Bottle
Message in a BottleMessage in a Bottle
Message in a Bottle
Zohar Arad
 
Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011
traactivity
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
Richard Banks
 
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
Amazon Web Services Korea
 

Similar to Increase automation to rest (20)

Increase automation to rest
Increase automation to restIncrease automation to rest
Increase automation to rest
 
Unify service and ui layer automation bdd way.pptx (1)
Unify service and ui layer automation bdd way.pptx (1)Unify service and ui layer automation bdd way.pptx (1)
Unify service and ui layer automation bdd way.pptx (1)
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
 
AngularJS with TypeScript and Windows Azure Mobile Services
AngularJS with TypeScript and Windows Azure Mobile ServicesAngularJS with TypeScript and Windows Azure Mobile Services
AngularJS with TypeScript and Windows Azure Mobile Services
 
cross-platform-assets-based-front-end-architecture
cross-platform-assets-based-front-end-architecturecross-platform-assets-based-front-end-architecture
cross-platform-assets-based-front-end-architecture
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
 
Webservices
WebservicesWebservices
Webservices
 
Architecting single-page front-end apps
Architecting single-page front-end appsArchitecting single-page front-end apps
Architecting single-page front-end apps
 
Computer Science Research Poster Summer 15(1)
Computer Science Research Poster Summer 15(1)Computer Science Research Poster Summer 15(1)
Computer Science Research Poster Summer 15(1)
 
Selenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web ApplicationsSelenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web Applications
 
Load Impact
Load Impact Load Impact
Load Impact
 
Web Service and Mobile Integrated Day I
Web Service and Mobile Integrated Day IWeb Service and Mobile Integrated Day I
Web Service and Mobile Integrated Day I
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
Android chapter16-web-services
Android chapter16-web-servicesAndroid chapter16-web-services
Android chapter16-web-services
 
Message in a Bottle
Message in a BottleMessage in a Bottle
Message in a Bottle
 
Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
 
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
 

More from vodQA

Performance Testing
Performance TestingPerformance Testing
Performance Testing
vodQA
 
Testing Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architectureTesting Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architecture
vodQA
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobile
vodQA
 
Testing cna
Testing cnaTesting cna
Testing cna
vodQA
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scala
vodQA
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAs
vodQA
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev tools
vodQA
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applications
vodQA
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automation
vodQA
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testing
vodQA
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deployments
vodQA
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As code
vodQA
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security way
vodQA
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
vodQA
 
Retrospective
RetrospectiveRetrospective
Retrospective
vodQA
 

More from vodQA (20)

Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Testing Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architectureTesting Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architecture
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobile
 
Testing cna
Testing cnaTesting cna
Testing cna
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scala
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAs
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev tools
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challenges
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applications
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automation
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contracts
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testing
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deployments
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As code
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pact
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security way
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 
Retrospective
RetrospectiveRetrospective
Retrospective
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
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
 
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
 
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
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
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
 
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
 
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...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 

Increase automation to rest

Editor's Notes

  1. Shiva: What are WebServices; Importance of Web Services Learn HOw do we test a WebService using different tools and programming libraries Get familiarised with automating WebService.
  2. Fiona (add an example to the explanation) Using web services have been growing in popularity as a interfact for users to interact with systems and for systems to communicate with one another They are an way to access resources needed such as images, files, web pages, data etc. REST is not dependent on any protocol, but almost every RESTful service uses HTTP as its underlying protocol. Common formats for the messages they exchange are listed here but there are more and it depends on the individual requirements
  3. Shiva: Application A is written in 1 framework may be JAVA and SPRINGS, can use service available in other application
  4. Shiva
  5. Fiona another example of a web service is Weather Underground. They collect weather data from weather stations over the world and provide that data to people who wish to use it. Lets have a look at how a request for data about weather in Hyderabad is received in the browser… ...then lets see the same thing in the command line using the curl command
  6. Fiona Apologies for such an acronym heavy slide, please bear with me while I ensure we are all on the same page for these terms. REST is one architectural approach to web services which is growing in popularity. It uses moslty the HTTP(S) protocol for CRUD functionality: creation, reading, updating and deleting of resources. URIs are the id of some data which is being referred to in the requested SOAP (Simple Object Access Protocol) is a protocol with uses XML. Its an alternative to REST. SOAP was popular previously but systems built more recently would often be design in a RESTful way so we are seeing less and less SOAP now.
  7. Fiona A request cannot be dependent on a past request and a service treats each request independently. Assuming the system has enough load to require more than 1 node … which is pretty common … its important to consider how to handle the likely even where the first and second request go to different nodes or instances of the web service. A key part of a restful architecture is that each request from any client contains all the information necessary to service the request For instance a real world physical example, lets say we walk into a store, they are a huge company with stores all over the globe and thousands of staff members. We make an order with this company and they provide us with an id. If we want to check the status of this order we might not find outselves chatting to the exact staff member again, or they might have served another customer since then and forgotten us, it could be whichever staff member is free, or we might be in a different store. In order for the staff member to be able to responde to our status request we need to provide some information again along with the request. These staff members are like the nodes, they will all be looking at the same system to get your status, you walked into the same store or called the same number, but the nodes or staff themselves are individuals. So they need context on how to help you.
  8. Shiva Mention “Application Programming Interface” - API
  9. Shiva Separate slide for request and response. Consider using a screenshot of postman.
  10. Shiva Separate slide for request and response. Consider using a screenshot of postman.
  11. Fiona Get - request a resource, header might be used to specify some conditions similar to a query. Should only read data and shouldnt effect its state. Post - provides some resource (or data) which the service will handle, could override, update, append, act upon... Put - provides some resource which will be placed exactly at that URI location. If there is something already put there it will be overridden Delete - removes the resource at the URI location. Could be stopped by the server but ideally shouldn't say it succeeded unless that resource was deleted but technically could
  12. Fiona There are a lot of potential responses but they can be grouped into these 5 main types. Error codes starting with there initial numbers help you to know which type they are. Lets cover some of the most common/important ones in more detail
  13. Success! Your request was fulfilled.
  14. Success! This request caused something to be created/added/updated successfully. Most likely you posted some data which cased this response
  15. Error, Oops, something went wrong. Seems like there’s a problem with the request you made.
  16. Error, Oops, something went wrong. Seems that you arent permitted to do that request or arent correctly proving your right to perform that request
  17. Error, Oops something went wrong. Seems that the request is correct and you have the permission but the thing you asked for isnt there
  18. Error on the other side. Seems like the web service you are making a request to has some issues.
  19. Shiva
  20. Shiva: UNIT Testing: Talk about TDD: example of writing tests first and developing later
  21. Fiona
  22. Fiona
  23. Shiva
  24. Shiva
  25. Shiva
  26. Shiva
  27. Shiva: Automate as you GO: Automate in parallel any other activies(Manual) Cross Role : Code Review, Stop a Bug before being raised , Developers as well can Test , Pairing with BAs can encounter which is missing in the business flow.
  28. Fiona
  29. Both