SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
EVALUATING AND
TESTING WEB APIS
Ole Lensmar – SmartBear Software
the goal of this presentation…
Web APIs – what’s the fuss?
Aysnc /
WebSockets
REST /
JSON
SOAP /
XML
Technically speaking…
but that’s missing the point…
20 Years Ago
ACME Corp
(does monolithics)
10 Years Ago
ACME Corp
(does SOA)
Web
app
Corp
Corp
Corp
Now!
ACME Corp
(does APIs)
Web
app
Corp
App
+ API
API
API
API
Devi
ce
APP
API
Devi
ce
Devi
ce
Devi
ce
API
API
API Quality – Who needs it?
API Hierarchy of Needs
www.apiux.com
API Usability rules!
Who is your target persona?
User Experience
=
Developer Experience
Align with their API technology
SOAP / REST / etc…
XML / JSON / etc…
QoS / Security
Help them understand your API
vs
Provide API Metadata
Validation
Code Generation
Coverage
Understanding
Simulation
wsdl, swagger,
wadl, hal, json
schema, apiary.io,
xml schema, ws-*,
apiary, api-docs,
iodocs, etc
Align your API with their domain
Process / Workflow
Nomenclature
Related APIs
A 3:30:3 Litmus test for APIs
3 Minutes to understand what an API does
30 seconds to sign up
3 minutes to the first request
(Ori Pekelman)
APIs need to work
Expected Results
Expected Results
Values
Expected Results
Values
Datatypes
Expected Results
Values
Datatypes
Formatting
Expected Results
Values
Datatypes
Formatting
Consistency
Expected Results
Values
Datatypes
Formatting
Consistency
Errors
Bad Error Messages…
Change unexpectedly
Don’t match their status code (HTTP)
Don’t tell users what they did wrong
Don’t tell users what they need to do right
Show clients stuff that could be misused
APIs are global from day 1
Dates & Timezones
Regional Formatting
Localized Messages / Errors
ConsistencyConsistencyConsistencyCon
sistencyConsistencyConsistencyConsist
encyConsistencyConsistencyConsistenc
Formatting
Nomenclature
Metadata Compliance
API Functional Test Automation
TestCase API 1 API 2
TestCase API 1 API 2
Request 1
Response
validate
API Functional Test Automation
TestCase API 1 API 2
Request 1
Response
Transfer parameters
Request 2
Response
validate
validate
API Functional Test Automation
TestCase API 1 API 2
Request 1
Response
Request 3
Response
Transfer parameters
Request 2
Response
Transfer parameters
validate
validate
validate
API Functional Test Automation
Pre vs Post-Deployment Quality
Continuous
Integration
(Agile)
Automated
Test Execution
Pre vs Post-Deployment Quality
Continuous
Integration
(Agile)
Continuous
Deployment
(DevOps)
Automated
Test Execution
months/weeks/d
ays/hours
Pre vs Post-Deployment Quality
Continuous
Integration
(Agile)
Continuous
Deployment
(DevOps)
Automated
Test Execution
Production
Monitoring
months/weeks/d
ays/hours
Test asset re-use
no
wi
gg
ler
oo
m
Customers rely on your API
Your API is key to their success
Is your API available?
Is your API consistent?
Is your API transparent?
Is your API Secure?
Do you handle identity?
Do you maintain integrity?
Do you assess vulnerabilities?
API Performance
Does the API perform consistently?
Does the API recover?
Does the API scale?
Usability Functionality
Core elements of API Quality
Reliability
so – let’s get back to that goal…
Thank you!
@olensmar
ole.lensmar@smartbear.com

Contenu connexe

Tendances

Api testing and steps to do it
Api testing and steps to do itApi testing and steps to do it
Api testing and steps to do itZoe Gilbert
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API TestingBruno Pedro
 
API Virtualization: Mocking on Steroids
API Virtualization: Mocking on SteroidsAPI Virtualization: Mocking on Steroids
API Virtualization: Mocking on SteroidsSmartBear
 
Data Driven API Testing: Best Practices for Real-World Testing Scenarios
Data Driven API Testing: Best Practices for Real-World Testing ScenariosData Driven API Testing: Best Practices for Real-World Testing Scenarios
Data Driven API Testing: Best Practices for Real-World Testing ScenariosSmartBear
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Trickstesthive
 
Automate REST API Testing
Automate REST API TestingAutomate REST API Testing
Automate REST API TestingTechWell
 
Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?BugRaptors
 
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance TestingSauce Labs
 
Why vREST?
Why vREST?Why vREST?
Why vREST?vrest_io
 
API Test Automation
API Test Automation API Test Automation
API Test Automation SQALab
 
API Testing with Open Source Code and Cucumber
API Testing with Open Source Code and CucumberAPI Testing with Open Source Code and Cucumber
API Testing with Open Source Code and CucumberSmartBear
 
Presentation for soap ui
Presentation for soap uiPresentation for soap ui
Presentation for soap uiAnjali Rao
 

Tendances (20)

Api testing and steps to do it
Api testing and steps to do itApi testing and steps to do it
Api testing and steps to do it
 
Api Testing
Api TestingApi Testing
Api Testing
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
 
API Virtualization: Mocking on Steroids
API Virtualization: Mocking on SteroidsAPI Virtualization: Mocking on Steroids
API Virtualization: Mocking on Steroids
 
Api testing
Api testingApi testing
Api testing
 
Api testing
Api testingApi testing
Api testing
 
Data Driven API Testing: Best Practices for Real-World Testing Scenarios
Data Driven API Testing: Best Practices for Real-World Testing ScenariosData Driven API Testing: Best Practices for Real-World Testing Scenarios
Data Driven API Testing: Best Practices for Real-World Testing Scenarios
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Tricks
 
Belajar Postman test runner
Belajar Postman test runnerBelajar Postman test runner
Belajar Postman test runner
 
API TESTING
API TESTINGAPI TESTING
API TESTING
 
Automate REST API Testing
Automate REST API TestingAutomate REST API Testing
Automate REST API Testing
 
Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?
 
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
 
Why vREST?
Why vREST?Why vREST?
Why vREST?
 
Meetup #5 API Testing World
Meetup #5 API Testing WorldMeetup #5 API Testing World
Meetup #5 API Testing World
 
API Test Automation
API Test Automation API Test Automation
API Test Automation
 
Api testing
Api testingApi testing
Api testing
 
API Testing with Open Source Code and Cucumber
API Testing with Open Source Code and CucumberAPI Testing with Open Source Code and Cucumber
API Testing with Open Source Code and Cucumber
 
Api Testing
Api TestingApi Testing
Api Testing
 
Presentation for soap ui
Presentation for soap uiPresentation for soap ui
Presentation for soap ui
 

En vedette

REST API testing with SpecFlow
REST API testing with SpecFlowREST API testing with SpecFlow
REST API testing with SpecFlowAiste Stikliute
 
How to Evaluate an API Without Writing a Line of Code
How to Evaluate an API Without Writing a Line of CodeHow to Evaluate an API Without Writing a Line of Code
How to Evaluate an API Without Writing a Line of Codeduvander
 
Automation testing API in Java
Automation testing API in JavaAutomation testing API in Java
Automation testing API in JavaWix.com
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIsJason Weden
 
Инструменты и лайфхаки тестирования REST API
Инструменты и лайфхаки тестирования REST APIИнструменты и лайфхаки тестирования REST API
Инструменты и лайфхаки тестирования REST APISQALab
 
Getting Started with API Security Testing
Getting Started with API Security TestingGetting Started with API Security Testing
Getting Started with API Security TestingSmartBear
 
Web testing essentials
Web testing   essentialsWeb testing   essentials
Web testing essentialsbolsupport
 
Rethinking Test Automation: The Case for Moving Beyond the User Interface
Rethinking Test Automation: The Case for Moving Beyond the User InterfaceRethinking Test Automation: The Case for Moving Beyond the User Interface
Rethinking Test Automation: The Case for Moving Beyond the User InterfaceCognizant
 
API Testing – Keeping a Check on Agile Software Development
API Testing – Keeping a Check on Agile Software DevelopmentAPI Testing – Keeping a Check on Agile Software Development
API Testing – Keeping a Check on Agile Software DevelopmentSoftware Testing Solution
 
Testing REST Web Services
Testing REST Web ServicesTesting REST Web Services
Testing REST Web ServicesJan Algermissen
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mockEloi Poch
 
AWS API Framework Overview
AWS API Framework OverviewAWS API Framework Overview
AWS API Framework OverviewAPI Talent
 
Continuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEContinuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEJan Willem Janssen
 
I Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done WorkshopI Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done WorkshopApigee | Google Cloud
 

En vedette (20)

REST API testing with SpecFlow
REST API testing with SpecFlowREST API testing with SpecFlow
REST API testing with SpecFlow
 
BDD for APIs
BDD for APIsBDD for APIs
BDD for APIs
 
How to Evaluate an API Without Writing a Line of Code
How to Evaluate an API Without Writing a Line of CodeHow to Evaluate an API Without Writing a Line of Code
How to Evaluate an API Without Writing a Line of Code
 
Automated tests to a REST API
Automated tests to a REST APIAutomated tests to a REST API
Automated tests to a REST API
 
Automation testing API in Java
Automation testing API in JavaAutomation testing API in Java
Automation testing API in Java
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIs
 
Rest assured
Rest assuredRest assured
Rest assured
 
Frisby Api automation
Frisby Api automationFrisby Api automation
Frisby Api automation
 
Инструменты и лайфхаки тестирования REST API
Инструменты и лайфхаки тестирования REST APIИнструменты и лайфхаки тестирования REST API
Инструменты и лайфхаки тестирования REST API
 
Getting Started with API Security Testing
Getting Started with API Security TestingGetting Started with API Security Testing
Getting Started with API Security Testing
 
Web testing essentials
Web testing   essentialsWeb testing   essentials
Web testing essentials
 
Rethinking Test Automation: The Case for Moving Beyond the User Interface
Rethinking Test Automation: The Case for Moving Beyond the User InterfaceRethinking Test Automation: The Case for Moving Beyond the User Interface
Rethinking Test Automation: The Case for Moving Beyond the User Interface
 
JOB ORDER FORM
JOB ORDER FORMJOB ORDER FORM
JOB ORDER FORM
 
API Testing – Keeping a Check on Agile Software Development
API Testing – Keeping a Check on Agile Software DevelopmentAPI Testing – Keeping a Check on Agile Software Development
API Testing – Keeping a Check on Agile Software Development
 
Testing REST Web Services
Testing REST Web ServicesTesting REST Web Services
Testing REST Web Services
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mock
 
AWS API Framework Overview
AWS API Framework OverviewAWS API Framework Overview
AWS API Framework Overview
 
Continuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEContinuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACE
 
Agile Testing - Challenges
Agile Testing - ChallengesAgile Testing - Challenges
Agile Testing - Challenges
 
I Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done WorkshopI Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done Workshop
 

Similaire à Evaluating and Testing Web APIs

Optimizing API Performance Testing A Comprehensive Guide
Optimizing API Performance Testing A Comprehensive GuideOptimizing API Performance Testing A Comprehensive Guide
Optimizing API Performance Testing A Comprehensive GuideTestrig Technologies
 
Top api testing tools in 2022
Top api testing tools in 2022Top api testing tools in 2022
Top api testing tools in 2022Aparna Sharma
 
Top 11 API testing tools for 2022
Top 11 API testing tools for 2022Top 11 API testing tools for 2022
Top 11 API testing tools for 2022Aparna Sharma
 
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage [WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage WSO2
 
API Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdfAPI Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdfiDataScientists
 
More Coverage, Better Diagnostics
More Coverage, Better DiagnosticsMore Coverage, Better Diagnostics
More Coverage, Better DiagnosticsSmartBear
 
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...Kin Lane
 
apidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhu
apidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhuapidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhu
apidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhuapidays
 
What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...Kim Clark
 
Creating an app ecosystem for your APIs
Creating an app ecosystem for your APIsCreating an app ecosystem for your APIs
Creating an app ecosystem for your APIsWaveMaker, Inc.
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testingb4usolution .
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scaleRahul Dighe
 
Remove Bugs With API Testing Services
Remove Bugs With API Testing ServicesRemove Bugs With API Testing Services
Remove Bugs With API Testing ServicesBugRaptors
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetyAtlassian
 
API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)Apigee | Google Cloud
 

Similaire à Evaluating and Testing Web APIs (20)

Optimizing API Performance Testing A Comprehensive Guide
Optimizing API Performance Testing A Comprehensive GuideOptimizing API Performance Testing A Comprehensive Guide
Optimizing API Performance Testing A Comprehensive Guide
 
Top api testing tools in 2022
Top api testing tools in 2022Top api testing tools in 2022
Top api testing tools in 2022
 
ATAGTR2017 Test the REST
ATAGTR2017 Test the REST ATAGTR2017 Test the REST
ATAGTR2017 Test the REST
 
Top 11 API testing tools for 2022
Top 11 API testing tools for 2022Top 11 API testing tools for 2022
Top 11 API testing tools for 2022
 
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage [WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
 
API Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdfAPI Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdf
 
More Coverage, Better Diagnostics
More Coverage, Better DiagnosticsMore Coverage, Better Diagnostics
More Coverage, Better Diagnostics
 
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
 
apidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhu
apidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhuapidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhu
apidays LIVE Hong Kong - Orchestrating APIs at Scale by Hieu Nguyen Nhu
 
Service virtualization with npm modules updated
Service virtualization with npm modules updatedService virtualization with npm modules updated
Service virtualization with npm modules updated
 
What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...
 
Creating an app ecosystem for your APIs
Creating an app ecosystem for your APIsCreating an app ecosystem for your APIs
Creating an app ecosystem for your APIs
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testing
 
Resume debasish
Resume debasish Resume debasish
Resume debasish
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scale
 
Lisa
LisaLisa
Lisa
 
Remove Bugs With API Testing Services
Remove Bugs With API Testing ServicesRemove Bugs With API Testing Services
Remove Bugs With API Testing Services
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
 
Webservicex.pdf
Webservicex.pdfWebservicex.pdf
Webservicex.pdf
 
API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)
 

Plus de SmartBear

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubSmartBear
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1SmartBear
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...SmartBear
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...SmartBear
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubSmartBear
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesSmartBear
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubSmartBear
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubSmartBear
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...SmartBear
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management SmartBear
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...SmartBear
 
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...SmartBear
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing  - Galway Mee...Artificial intelligence for faster and smarter software testing  - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...SmartBear
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSmartBear
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarSmartBear
 
How Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterHow Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterSmartBear
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestCompleteSmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsSmartBear
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save AgileSmartBear
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesSmartBear
 

Plus de SmartBear (20)

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHub
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial Services
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHub
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
 
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing  - Galway Mee...Artificial intelligence for faster and smarter software testing  - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear Webinar
 
How Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterHow Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products Faster
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestComplete
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save Agile
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship Rules
 

Dernier

Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 

Dernier (20)

Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 

Evaluating and Testing Web APIs

Notes de l'éditeur

  1. By the end of this session you will have turned into juvenileexperts on the key components of API Quality. In your organization, whenever you hear about API initiatives and how you should test them– you will be able to raise your hand and say “I know all about that – a chap at StarWEST with a funny accent – he spelled it all out for us” – and you will be able to rise and help your company or team produce the finest APIs yet to be seen. If not – I have failed – and you can let me know on the evaluation talon. Or you can mailme to tell of your endeavors – I want to know!But - to get us there in mere 40 minutes I will be in a constant hurry – nevertheless - please don’t hesitate to interrupt if you have any questions – after all – my fate as an API aficionado lies in your hands.
  2. First – do we all know what I mean by Web APIs? Do we have a common understanding? Because many of you might be thinking; what’s the big deal? An API is an interface for a system – testing them is no different than testing other code; we test that they “work”, we report bugs, we hug developers because they involve you early in the process, we make sure performance is ok - and we put them into production – how hard can it be? Well –that’s not the whole story – but to make my case I need to give you some context on the evolution of Web APIs – where they come from.
  3. One way to look at Web APIs is from a technology point of view – SOAP/XML -> REST/JSON -> Asycn (WebSockets, etc)And trust me when I say that I could talk a lot about these technologies - But that’s not really it – that’s not where the real action is when it comes to the fuss around APIs – to understand what the noise is all about we need to take a step back
  4. 20 years ago (monolithic) -> 10 years ago (SOA) -> now (WOA)
  5. 20 years ago (monolithic) -> 10 years ago (SOA) -> now (WOA)
  6. Suddenly – APIs are at the heart of a companies business – having evolved from being strictly internal where they used to be building block with a controlled environment, usage, dependencies and lifecycle are totally within the owning business – they now are the business, and as such have a totally different context; their usage is unpredictable – their lifecycle is controlled by others – they are subject to competition from other API providers – and their users are biased from day one on how an API should be. That’s a totally different challenge for QA than an API that is strictly internal – in a controlled environment. Of course – the functional and performance aspects still apply – but suddenly a bunch of other traits related to QoS and Usability are of primary concern for the API (and thus your business) to succeed. 
  7. So, let’s try to drill into this a little bit… who are the actual stakeholders for API quality? Who really needs it – and what is important to them?
  8. Bruno Pedro at apiux.com created this API Hierarchy of Needs – trying to visualize the needs of an API for it to be successful. What’s really interesting to note here – and something the spurred some debate – is that usability is at the bottom of the pyramid. He argues that it doesn’t matter how well an API works or how reliable it is – if you can’t use it, it doesn’t matter.
  9. Keeping the API Hierarchy of needs in mind, lets start with the insight that although APIs are ultimately invoked by code – they are initially always consumed by people - Developers, Testers, the like! And for you to be able to do that in an efficient and satisfying way – the API has to be usable – which brings us to the perhaps most important prerequisite for a successful API : it’s usability – how easy is it to use the API?
  10. Know your users – is it Josh, the HTML5 Hscker? Is it John the j2EE Expert?
  11. You might have heard of the term UX before – User Experience, and similarly the term DX (Developer Experience) designates how easy it is for a Developer to consume and API – and this is where API Usability experts have to focus; on the developers that will initially be tasked with integrating the API. We all know that developers are a special bunch – and as such have special needs – lets explore some of them.
  12. Know your
  13. So let’s say we are going to use an API – how do we get started?
  14. Metadata is a somewhat heated subject in some API communities; with SOAP there has never been an issue – but with REST (which was a countermovement to SOAP in a certain sense) – there has been a lively debate. The main argument against metadata has been that it is hard to maintain – which isn’t always true. The advantages for metadata are on the other hand several:Code generationAutomated validationDetailed understanding of complex messagesFor testers: possibility to measure coverageWhat can metadata give that documentation doesn’t? Isn’t metadata a kind of documentation?
  15. The APIs you create are most often consumed in some kind of context – and if that context is well established it usually already follows certain rules/heuristics applicable to the task at hand. For example, let’s say your API is related to geospatial information – and that your users often also use the Google Maps APIS
  16. This is a test that attempts to measure API Usability: the 3:30:3 Test. Devised by OriPekelman – it might not be the most scientifically correct – but it does give an indication of what is important. When visting a companies API developer portal, it should take: 3 minutes to understand what the API does, 30 seconds to sign up, and 3 minutes to be able to make your first call to the API.
  17. Finally – and this is perhaps the one many layman testers think of first (not you of course) – the direct stakeholder of the API is the code that integrates with it – because ultimately, in production, APIs are invoked by code – not people. This is where functional testing, test automation, automated test execution all come into play. Let’s look at some hands on examples. 
  18. Here you test for expected and unexpected results. Test not only the content of the results – but also the format. Going back to the discussion on usability and nomenclature – make sure that if you use a common nomenclature (for example for coordinates) use the right data-types as well. Make sure you do both positive and negative tests – error messages are equally important.Formatting, DatatypesValuesConsistency 
  19. Here you test for expected and unexpected results. Test not only the content of the results – but also the format. Going back to the discussion on usability and nomenclature – make sure that if you use a common nomenclature (for example for coordinates) use the right data-types as well. Make sure you do both positive and negative tests – error messages are equally important.Formatting, DatatypesValuesConsistency 
  20. Here you test for expected and unexpected results. Test not only the content of the results – but also the format. Going back to the discussion on usability and nomenclature – make sure that if you use a common nomenclature (for example for coordinates) use the right data-types as well. Make sure you do both positive and negative tests – error messages are equally important.Formatting, DatatypesValuesConsistency 
  21. Here you test for expected and unexpected results. Test not only the content of the results – but also the format. Going back to the discussion on usability and nomenclature – make sure that if you use a common nomenclature (for example for coordinates) use the right data-types as well. Make sure you do both positive and negative tests – error messages are equally important.Formatting, DatatypesValuesConsistency 
  22. Here you test for expected and unexpected results. Test not only the content of the results – but also the format. Going back to the discussion on usability and nomenclature – make sure that if you use a common nomenclature (for example for coordinates) use the right data-types as well. Make sure you do both positive and negative tests – error messages are equally important.Formatting, DatatypesValuesConsistency 
  23. Here you test for expected and unexpected results. Test not only the content of the results – but also the format. Going back to the discussion on usability and nomenclature – make sure that if you use a common nomenclature (for example for coordinates) use the right data-types as well. Make sure you do both positive and negative tests – error messages are equally important.Formatting, DatatypesValuesConsistency 
  24. This error message for example – can anyone see what’s wrong with this?
  25. One thing that I haven’t really emphasized is that APIs are global from day 1 – their consumers could be calling in from all over the world – and if your API makes use of dates, times and timezones that is a common area for problems. Make sure that the system handles this input correctly.
  26. You chain multiple requests together to test entire transactions – transferring content in a response to the following requests.
  27. You chain multiple requests together to test entire transactions – transferring content in a response to the following requests.
  28. You chain multiple requests together to test entire transactions – transferring content in a response to the following requests.
  29. You chain multiple requests together to test entire transactions – transferring content in a response to the following requests.
  30. If you’re in an agile shop doing continuous integration you might want to set up corresponding continuous testing processes – and if you are doing automated deployment – you should perhaps consider to reuse some of those pre-deployment testing assets as post-deployment functional monitors.Exploratory Testing!
  31. If you’re in an agile shop doing continuous integration you might want to set up corresponding continuous testing processes – and if you are doing automated deployment – you should perhaps consider to reuse some of those pre-deployment testing assets as post-deployment functional monitors.Exploratory Testing!
  32. If you’re in an agile shop doing continuous integration you might want to set up corresponding continuous testing processes – and if you are doing automated deployment – you should perhaps consider to reuse some of those pre-deployment testing assets as post-deployment functional monitors.Exploratory Testing!
  33. Finally - consider this: since and API is consumed by a machine there is no “wiggle-room” as there is for the previous two stakeholders – which could be expected to adapt to lack of quality in certain areas. Here it’s straight forward: either it works, and delivers the desired functionality – or it doesn’t and the customer gets strange error messages.
  34. The next Stakeholder is the business that is using your API. Think about it: their business (and perhaps entire existence!) depends on it – if your API doesn’t work as they need it to – both their reputation (and yours!) is at great risk! For them a different number of aspects come into play – all wrapped up in the somewhat boring term “Quality of Service”.Now – QoS isn’t new to Web APIs – it is equally important for internal APIs - but the big difference is that for Web APIs you can’t really foresee how and in which context your API will be consumed – which makes it even more important that you are one step ahead in regard to your APIs quality. I’ll give you three main areas:
  35. Reliability – can they rely on your service being available? Will you provide consistent response times? For a mobile app – do you give consistent results from all over the world? -> You can highlight these and make sure that Monitoring – from all over the world.
  36. Security – this is a biggie – we’ve all heard about security breaches at facebook, twitter, the Playstation Network. You customers want to know that any data they enter into your system that belongs to them – can never – and I mean never – come into wrong hands. -> Security Testing
  37. Performance / Scalability – this is the really hard part: what if your API is a building block in the latest startup craze? What if load increases from 100s request per minute to 1000 requests/sec over the timespan of a couple of weeks – or days? Are you prepared? Should you be? Do you want to miss out on that opportunity? If you can scale successfully with your customers – they will be loyal and love you forever. Incidentally – you can see your own business as an equally invested stakeholder – the same requirements apply. And added dimension such as competitors enter the discussion -> is your API better than the competition in these regards?
  38. OK – you’ve all been very brave and patient - lets recap this a bit: API Quality has three primary stakeholder and corresponding areas of concern:Users: User Experience -> required by the people initially consuming the APIBusiness: Quality of Service -> required by the business depending on the APICode: Consistent Functionality -> required by the code calling the API And although perhaps some of this is outside the scope of your role at your company – you can be that champion – you can be the one that brings these things to the attention of those building the API: I’m sure you remember that I made a promise - let’s revisit that and look at how I hope things to play out when you get back to your offices: