Submit Search
Upload
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
•
4 likes
•
1,569 views
Apigee | Google Cloud
Follow
I Love APIs 2015
Read less
Read more
Technology
Report
Share
Report
Share
1 of 48
Download Now
Download to read offline
Recommended
Bringing Partners, Teams and Systems Together through APIs
Bringing Partners, Teams and Systems Together through APIs
Apigee | Google Cloud
End to End Testing: Bug Squashing for API Developers
End to End Testing: Bug Squashing for API Developers
Apigee | Google Cloud
A Checklist for Every API Call
A Checklist for Every API Call
Apigee | Google Cloud
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture
Apigee | Google Cloud
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
Apigee | Google Cloud
Transforming Your Business Through APIs
Transforming Your Business Through APIs
Apigee | Google Cloud
Building APIs with Apigee Edge and Microsoft Azure
Building APIs with Apigee Edge and Microsoft Azure
Apigee | Google Cloud
Bringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered Backends
Apigee | Google Cloud
More Related Content
What's hot
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
Apigee | Google Cloud
Apigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
Apigee | Google Cloud
Putting 2-Speed IT to Work in the Enterprise
Putting 2-Speed IT to Work in the Enterprise
Apigee | Google Cloud
I Love APIs 2015: The "State" of your API: Common Use Cases for Storing Data
I Love APIs 2015: The "State" of your API: Common Use Cases for Storing Data
Apigee | Google Cloud
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
Apigee | Google Cloud
Unlocking Value From the Internet of Things (IoT) with APIs
Unlocking Value From the Internet of Things (IoT) with APIs
Apigee | Google Cloud
I Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
I Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
Apigee | Google Cloud
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
Apigee | Google Cloud
API-first, going beyond SOA, ESB & Integration
API-first, going beyond SOA, ESB & Integration
Apigee | Google Cloud
Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
Apigee | Google Cloud
Is Microservices SOA Done Right?
Is Microservices SOA Done Right?
Apigee | Google Cloud
Webcast: Deep-Dive Apigee Edge Microgateway
Webcast: Deep-Dive Apigee Edge Microgateway
Apigee | Google Cloud
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Apigee | Google Cloud
Bringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIs
Apigee | Google Cloud
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
Apigee | Google Cloud
APIs in the Enterprise - Lessons Learned
APIs in the Enterprise - Lessons Learned
Apigee | Google Cloud
Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)
Alexandre Roman
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge
Apigee | Google Cloud
Data Driven Security
Data Driven Security
Apigee | Google Cloud
Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS
Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS
Apigee | Google Cloud
What's hot
(20)
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
Apigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
Putting 2-Speed IT to Work in the Enterprise
Putting 2-Speed IT to Work in the Enterprise
I Love APIs 2015: The "State" of your API: Common Use Cases for Storing Data
I Love APIs 2015: The "State" of your API: Common Use Cases for Storing Data
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
Unlocking Value From the Internet of Things (IoT) with APIs
Unlocking Value From the Internet of Things (IoT) with APIs
I Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
I Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
API-first, going beyond SOA, ESB & Integration
API-first, going beyond SOA, ESB & Integration
Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
Is Microservices SOA Done Right?
Is Microservices SOA Done Right?
Webcast: Deep-Dive Apigee Edge Microgateway
Webcast: Deep-Dive Apigee Edge Microgateway
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Bringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIs
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
APIs in the Enterprise - Lessons Learned
APIs in the Enterprise - Lessons Learned
Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge
Data Driven Security
Data Driven Security
Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS
Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS
Viewers also liked
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
Katie Chin
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
Alexander Kress
Leave end-to-end testing to Capybara
Leave end-to-end testing to Capybara
Hiroshi SHIBATA
Where Does Developer Testing End And Tester Testing Begin?
Where Does Developer Testing End And Tester Testing Begin?
Abby Fichtner
Atagg2015 BDD in Test pyramid
Atagg2015 BDD in Test pyramid
Agile Testing Alliance
How To Combine Back-End & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End & Front-End Testing with BlazeMeter & Sauce Labs
Sauce Labs
Front-End Testing: Demystified
Front-End Testing: Demystified
Seth McLaughlin
ContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven Infrastructure
Yury Tsarev
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
Christian Schneider
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT Integrity
Parasoft
Viewers also liked
(10)
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
Leave end-to-end testing to Capybara
Leave end-to-end testing to Capybara
Where Does Developer Testing End And Tester Testing Begin?
Where Does Developer Testing End And Tester Testing Begin?
Atagg2015 BDD in Test pyramid
Atagg2015 BDD in Test pyramid
How To Combine Back-End & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End & Front-End Testing with BlazeMeter & Sauce Labs
Front-End Testing: Demystified
Front-End Testing: Demystified
ContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven Infrastructure
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT Integrity
Similar to I Love APIs 2015: End to End Testing: Bug Squashing for Developers
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
Alan Hood
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
Evolve The Adobe Digital Marketing Community
AEM Evernote Sync
AEM Evernote Sync
Kevin Nennig
Test Policy and Practices
Test Policy and Practices
Talentica Software
Selenium topic 1- Selenium Basic
Selenium topic 1- Selenium Basic
ITProfessional Academy
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
Apigee | Google Cloud
Well Crafted API Models – Key to Streamlining Workflows
Well Crafted API Models – Key to Streamlining Workflows
Axway
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
Cisco DevNet
Design-first API Development using Swagger and Node
Design-first API Development using Swagger and Node
Apigee | Google Cloud
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
CA Technologies
QTP Automation Testing Tutorial 1
QTP Automation Testing Tutorial 1
Akash Tyagi
Building Your API for Longevity
Building Your API for Longevity
MuleSoft
Monitoring Solutions for APIs
Monitoring Solutions for APIs
Apigee | Google Cloud
PMI-ACP Lesson 06 Quality
PMI-ACP Lesson 06 Quality
Thanh Nguyen
continuousphp
continuousphp
continuousphp
Mobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest Teams
Perfecto by Perforce
Test Driven Development and Automation
Test Driven Development and Automation
Mahesh Salaria
5 Considerations When Adopting Automated Testing
5 Considerations When Adopting Automated Testing
Bhupesh Dahal
Interact Differently: Get More From Your Tools Through Exposed APIs
Interact Differently: Get More From Your Tools Through Exposed APIs
Kevin Fealey
DevOps Deconstructed
DevOps Deconstructed
Jeremy Pullen
Similar to I Love APIs 2015: End to End Testing: Bug Squashing for Developers
(20)
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
AEM Evernote Sync
AEM Evernote Sync
Test Policy and Practices
Test Policy and Practices
Selenium topic 1- Selenium Basic
Selenium topic 1- Selenium Basic
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
Well Crafted API Models – Key to Streamlining Workflows
Well Crafted API Models – Key to Streamlining Workflows
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
Design-first API Development using Swagger and Node
Design-first API Development using Swagger and Node
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
QTP Automation Testing Tutorial 1
QTP Automation Testing Tutorial 1
Building Your API for Longevity
Building Your API for Longevity
Monitoring Solutions for APIs
Monitoring Solutions for APIs
PMI-ACP Lesson 06 Quality
PMI-ACP Lesson 06 Quality
continuousphp
continuousphp
Mobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest Teams
Test Driven Development and Automation
Test Driven Development and Automation
5 Considerations When Adopting Automated Testing
5 Considerations When Adopting Automated Testing
Interact Differently: Get More From Your Tools Through Exposed APIs
Interact Differently: Get More From Your Tools Through Exposed APIs
DevOps Deconstructed
DevOps Deconstructed
More from Apigee | Google Cloud
How Secure Are Your APIs?
How Secure Are Your APIs?
Apigee | Google Cloud
Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)
Apigee | Google Cloud
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs
Apigee | Google Cloud
Apigee Demo: API Platform Overview
Apigee Demo: API Platform Overview
Apigee | Google Cloud
Ticketmaster at a glance
Ticketmaster at a glance
Apigee | Google Cloud
AccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First World
Apigee | Google Cloud
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2
Apigee | Google Cloud
The Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management Market
Apigee | Google Cloud
Walgreens at a glance
Walgreens at a glance
Apigee | Google Cloud
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
Apigee | Google Cloud
Pitney Bowes at a glance
Pitney Bowes at a glance
Apigee | Google Cloud
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices Success
Apigee | Google Cloud
Adapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet Kapoor
Apigee | Google Cloud
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg Brail
Apigee | Google Cloud
Adapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant Jhingran
Apigee | Google Cloud
London Adapt or Die: Opening Keynot
London Adapt or Die: Opening Keynot
Apigee | Google Cloud
London Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynote
Apigee | Google Cloud
London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!
Apigee | Google Cloud
London adapt or-die opening keynote chet kapoor
London adapt or-die opening keynote chet kapoor
Apigee | Google Cloud
More from Apigee | Google Cloud
(20)
How Secure Are Your APIs?
How Secure Are Your APIs?
Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs
Apigee Demo: API Platform Overview
Apigee Demo: API Platform Overview
Ticketmaster at a glance
Ticketmaster at a glance
AccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First World
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2
The Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management Market
Walgreens at a glance
Walgreens at a glance
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
Pitney Bowes at a glance
Pitney Bowes at a glance
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices Success
Adapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant Jhingran
London Adapt or Die: Opening Keynot
London Adapt or Die: Opening Keynot
London Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynote
London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!
London adapt or-die opening keynote chet kapoor
London adapt or-die opening keynote chet kapoor
Recently uploaded
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
dgelyza
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
IES VE
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
Matsuo Lab
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
Md Hossain Ali
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
DianaGray10
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
SkyPlanner
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
David Newbury
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
DianaGray10
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Aijun Zhang
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
UiPathCommunity
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
shyamraj55
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
bruanjhuli
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
DianaGray10
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
Adam Moalla
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
Bachir Benyammi
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
DianaGray10
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Daniel Santiago Silva Capera
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
Liveplex
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software
Recently uploaded
(20)
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
1.
End To End
Testing: ! Bug Squashing For API Developers! Ozan Seymen – Apigee Principal Architect Saulius Zukauskas – Apigee Principal Architect
2.
API testing: agenda ©2015
Apigee. All Rights Reserved. • Popular testing methodologies • API testing best practices • Popular open source tools
3.
Test-Driven Development
4.
What is Test-driven
development? ©2015 Apigee. All Rights Reserved. • Understand the requirements. • Write test cases first (and let them all fail!). • Write code to make tests pass. • Refactor the code often.
5.
What is Test-driven
development? ©2015 Apigee. All Rights Reserved.
6.
Is your team
doing TDD? ©2015 Apigee. All Rights Reserved.
7.
Is your team
doing TDD? ©2015 Apigee. All Rights Reserved.
8.
Is your team
doing TDD? ©2015 Apigee. All Rights Reserved.
9.
What is important
for TDD process to work? ©2015 Apigee. All Rights Reserved. • Maintaining set of common test cases. • Getting all development team onboard. • If possible, get the product owners involved.
10.
Behavior-Driven Development
11.
BDD “You are not
doing BDD until you embrace TDD” KEEP CALM AND EMBRACE TDD (if you want to do proper BDD) ©2015 Apigee. All Rights Reserved.
12.
BDD ©2015 Apigee. All
Rights Reserved. BDD is a software development process with TDD in its heart
13.
BDD – a
software development process ©2015 Apigee. All Rights Reserved.
14.
BDD – a
software development process ©2015 Apigee. All Rights Reserved. Business analyst developer tester DEFINE DOCUMENT USER STORIES TOGETHER!!!
15.
BDD – a
software development process ©2015 Apigee. All Rights Reserved. define / document automated " tests guide provide feedback " on progress specifications use as basis of tests 3 Amigos developer tester business analyst
16.
BDD – ¡Three
Amigos! ©2015 Apigee. All Rights Reserved. Specifications – what do they contain? • Express the desired behavior and expected outcomes • Desired behavior that has business value • Express using examples (specification by example) • Outside-in
17.
BDD – ¡Three
Amigos! ©2015 Apigee. All Rights Reserved. Specifications – How to specify? • Semi-formal format borrowed from user story specifications • BDD imposes no rules – simplicity and standardization • Dan North and Chris Matts suggested Given/When/Then
18.
BDD – Given/When/Then ©2015
Apigee. All Rights Reserved. Given - Set of preconditions - State before action/trigger When - An event occurs (trigger/action) Then - Assert outcome of the event GIVEN there is 1 coffee left in the machine and I have deposited 1$, WHEN I press the coffee button THEN I should be served a coffee. Express behavior in terms of these statements:
19.
BDD – Gherkin ©2015
Apigee. All Rights Reserved. • When you come to document behavior, you need a language • Understood by humans and code • Gherkin – business readable, domain-specific language
20.
BDD – Gherkin ©2015
Apigee. All Rights Reserved. Feature: User trades stocks Scenario: User requests a sell before close of trading Given I have 100 shares of MSFT stock And I have 150 shares of APPL stock And the time is before close of trading When I ask to sell 20 shares of MSFT stock Then I should have 80 shares of MSFT stock And I should have 150 shares of APPL stock And a sell order for 20 shares of MSFT stock should have been executed
21.
BDD – benefits
of Gherkin ©2015 Apigee. All Rights Reserved. • Documentation generation • Executable specifications • Tooling for editors • Reusable snippets shared publicly • Tools integration Once you have standardized the language…
22.
BDD – testing ©2015
Apigee. All Rights Reserved. Scenario Automated tests Progress feedback
23.
BDD – tooling
for automated testing ©2015 Apigee. All Rights Reserved. APICLI YADDA
24.
Integration Testing
25.
What is integration
testing? ©2015 Apigee. All Rights Reserved. • Very important for API development • Testing your software components as a group • Client to API + API to backend system
26.
Integration testing tools
for APIs ©2015 Apigee. All Rights Reserved. • 2 6 ©2015 Apigee. All Rights Reserved. APICLI YADDA
27.
Integration testing flow
– Apigee-based APIs ©2015 Apigee. All Rights Reserved. Write test cases Write API bundle code Deploy API bundle code to Apigee Run Integration testing Refactor
28.
Apickli for API
testing ©2015 Apigee. All Rights Reserved. Scenario: As an ecommerce store user I would like to list all the available categories Given I set User-Agent header to apickli And I set Accept header to application/json When I GET /v1/store/categories Then response code should be json And response code should be 200 And response body should contain categories
29.
Apickli for API
testing ©2015 Apigee. All Rights Reserved. Scenario: Correct room availability to airbnb.com whenever I do single night booking Given that the resort [Resort] is set in airbnb.com And the room type [RoomType] is set up in airbnb.com And the hotel has [Available Rooms] rooms available for sale When I make a new single night booking Then airbnb.com should have [bcomNewRoomsToSell] rooms available
30.
Integration testing DEMO TIME! ©2015
Apigee. All Rights Reserved.
31.
Unit Testing
32.
API proxy testing ©2015
Apigee. All Rights Reserved. Do you think it is possible to test an Apigee proxy fully with integration testing? No…
33.
API proxy testing
– integration test enough? ©2015 Apigee. All Rights Reserved. Test Runner Apigee Target Systems 3rd Party Service callouts? Async?
34.
API proxy testing
– integration test enough? ©2015 Apigee. All Rights Reserved. Isolation/Coverage
35.
Unit testing –
other benefits ©2015 Apigee. All Rights Reserved. • Code can be tested locally without deployment to Apigee first • Can create hooks to enforce testing during commit • Much faster than integration testing
36.
Unit testing –
boundary principle ©2015 Apigee. All Rights Reserved. Test within your boundaries – don’t test libraries you don’t control
37.
Unit testing –
types of policies ©2015 Apigee. All Rights Reserved.
38.
Unit testing –
tooling ©2015 Apigee. All Rights Reserved.
39.
Unit testing -
automation ©2015 Apigee. All Rights Reserved. “Imperfect tests, run frequently, are much better than perfect tests that are rarely run”
40.
Unit testing DEMO TIME! ©2015
Apigee. All Rights Reserved.
41.
Mocking
42.
Mocking – why? ©2015
Apigee. All Rights Reserved. • Test backend systems are always down • Test backend systems are slow • Test backend systems have inconsistent data
43.
End-to-end testing ©2015 Apigee.
All Rights Reserved. Oct 14 – 02:50PM APIGEE AND NODE.JS: BUILDING MOCK BACKENDS
44.
Environments
45.
API proxy testing
– environments ©2015 Apigee. All Rights Reserved. Environment Apigee Target Data Type of testing Development Mock Target Data and behavior from mocks Full Integration Integration Actual Backend (DEV) Data and behavior from DEV build of target APIs Partial Integration UAT Actual Backend (DEV/UAT) Data and behavior from DEV or UAT build of target APIs Smoke PRE Actual Backend (PROD) Data and behavior from target APIs in production Smoke PROD Actual Backend (PROD) Data and behavior from target APIs in production Smoke Smoke testing – API bundle deployed properly, access all target endpoints correctly, certificates deployed correctly, configuration is correct
46.
METRICS
47.
Metrics ©2015 Apigee. All
Rights Reserved.
48.
Questions?
Download Now