SlideShare a Scribd company logo
Useful Tools for API
Development & Lifecycle
Subu
Feb 2021
Caution!
• Less time and lot of content to share
• 70 mins presentation & 20 mins Q&A [Timer 55+15+20]
• Knowing about a tool != Knowing the tool
• Focus is REST / HTTP-JSON APIs
How to get max value?
• Try to grasp the purpose / value proposition of the tool.
• Don’t ask questions about setup/settings of individual tools. All that
will be available in documentation links I will share for your reading.
• Listen to everything. What is not relevant today might become
tomorrow.
• Real learning will happen when you start trying/using the tool after
the session.
Format
• Scenario / context
• Tool
• Capabilities
• How to use (demo)
• Resources (shared on #api-tools-techtalk)
• Assignment (1+1)
* And some interesting “tool” quotes
10 tools
~ 6-8 mins / tool
"The best investment is in the tools of one's own trade."
~ Benjamin Franklin
Mocking
• Phases – Ideation, Design, Prototyping, Development, Testing
• Starting from scratch. No spec and code exists.
• API First
• Mockoon
• Iteratively “create” functional API endpoints (resources, methods,
attributes) with trial and adjustment.
• Local development and testing of UI/service without real backend
• Automate with CLI
1/10
• "A good tool improves the way you work. A great tool improves the
way you think."
~ Jeff Duntemann
Mocking
• Phases – Design, Prototyping, Development, Testing, Integration.
• Collaborate using shared/published/stable endpoints.
• Developing UI, Proxy, Tests for APIs, CI, Services which consume APIs.
• Postman mocks
• Define sample responses for requests in collections and publish mock
endpoints.
• Dynamically vary responses.
2/10
"It is essential to have good tools, but it is also essential that the tools
should be used in the right way."
~ Wallace D. Wattles
Testing – Contract (producer or consumer)
• Phases. – Development, Testing, Integration
• As producer/consumer ensure the API is working as expected
• Postman tests & collection runner
• Scripts with assertions for validation of behavior
• TDD approach
• Tests run manually or automated
• Independent of client/producer implementation language
3/10
"You have to pick the right tool for the point you're trying to make and
there is no one solution."
~ Jay Maisel
Monitoring
• Phases – Production, Operation
• Check availability of published API endpoints, uptime, analytics, alerts
• Postman monitors
• Create monitors from existing collection
• Get alerts, metrics etc.
• Free plan has limited quota
4/10
"You cannot mandate productivity, you must provide the tools to let
people become their best."
~ Steve Jobs
Performance and Load
• Phase – Testing, Pre-prod, Prod
• Test behavior and performance of service under load
• JMeter
• Define users, requests, endpoints, response
• Run test
• Analyze results
5/10
"If the only tool you have is a hammer, it's hard to eat spaghetti."
~ David Allen
Linting (Spec)
• Phase – Design, Documentation, Review
• Check OpenAPI document for correctness, completeness, guidelines
• Stoplight Spectral
• Lint/static analysis of OpenAPI document
• Test for custom (organization specific) rules
6/10
"We become what we behold. We shape our tools and then our tools
shape us."
~ Marshall McLuhan
Mock service (OpenAPI based)
• Phase – Development, Testing
• Developing client app when service endpoint not available
• Stoplight Prism
• Create mock service from OpenAPI definition
• Generate static/dynamic responses
• Generate responses from examples
7/10
"Technology and tools are useful and powerful when they are your
servant and not your master."
~ Stephen Covey
Manage OpenAPI doc
• Phase – Design, Documentation, Review
• Manage OpenAPI definition files
• openapi-cli
• lint, stats, split, join, bundle
• Customizable (pre/post-processing)
8/10
"Work whatever tools you may have at your command and better tools
will be found as you go along."
~ Napoleon Hill
Webhooks
• Phase – Exploration, Development
• Integrating with services which provide webhooks
• Get public endpoints
• Introspect payloads live
• requestbin.com
9/10
"Your imagination is an extremely powerful tool."
~ Rhonda Byrne
Webhooks
• Phase – Development, Testing
• Developing handlers for webhook and need public endpoint for
testing
• ngrok
• Expose local endpoint on internet for testing/collaboration
10/10
"There is a great satisfaction in building good tools for other people to
use."
~ Freeman Dyson
Resources
Check the notes section below.

More Related Content

Similar to API Tools.pptx

Nine applications of the Tin Can API (xAPI)
Nine applications of the Tin Can API (xAPI)Nine applications of the Tin Can API (xAPI)
Nine applications of the Tin Can API (xAPI)
Rustici Software
 
Как стать синьором
Как стать синьоромКак стать синьором
Как стать синьором
COMAQA.BY
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
Malinda Kapuruge
 
Selenium topic 1- Selenium Basic
Selenium topic 1-  Selenium BasicSelenium topic 1-  Selenium Basic
Selenium topic 1- Selenium Basic
ITProfessional Academy
 
Product management meet up post
Product management meet up postProduct management meet up post
Product management meet up post
Steve Cook
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
QA or the Highway
 
The Importance of Culture: Building and Sustaining Effective Engineering Org...
The Importance of Culture:  Building and Sustaining Effective Engineering Org...The Importance of Culture:  Building and Sustaining Effective Engineering Org...
The Importance of Culture: Building and Sustaining Effective Engineering Org...
Randy Shoup
 
WhoIsKenDeLong
WhoIsKenDeLongWhoIsKenDeLong
WhoIsKenDeLongKen DeLong
 
14 Habits of Great SQL Developers
14 Habits of Great SQL Developers14 Habits of Great SQL Developers
14 Habits of Great SQL Developers
Ike Ellis
 
Evaluating Flow Cytometry Hardware - Advice for making the right choice.
Evaluating Flow Cytometry Hardware - Advice for making the right choice.Evaluating Flow Cytometry Hardware - Advice for making the right choice.
Evaluating Flow Cytometry Hardware - Advice for making the right choice.
Ryan Duggan
 
Conducting User Research
Conducting User ResearchConducting User Research
Conducting User Research
Jeremy Horn
 
EMPOWER2017 Sneak Peek
EMPOWER2017 Sneak PeekEMPOWER2017 Sneak Peek
EMPOWER2017 Sneak Peek
QuickBase, Inc.
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience -
UXPA International
 
Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)
Ford Prior
 
體驗劇場_1050524_W14_易用性測試_楊政達
體驗劇場_1050524_W14_易用性測試_楊政達體驗劇場_1050524_W14_易用性測試_楊政達
體驗劇場_1050524_W14_易用性測試_楊政達
Visual Cognition and Modeling Lab
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automationRomania Testing
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
TriNimbus
 
Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)
Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)
Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)
Northern User Experience
 
Benefits from AATs
Benefits from AATsBenefits from AATs
Benefits from AATs
Wyn B. Van Devanter
 
Hacker News Meetup April 2014
Hacker News Meetup April 2014Hacker News Meetup April 2014
Hacker News Meetup April 2014
Dan Quine
 

Similar to API Tools.pptx (20)

Nine applications of the Tin Can API (xAPI)
Nine applications of the Tin Can API (xAPI)Nine applications of the Tin Can API (xAPI)
Nine applications of the Tin Can API (xAPI)
 
Как стать синьором
Как стать синьоромКак стать синьором
Как стать синьором
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
 
Selenium topic 1- Selenium Basic
Selenium topic 1-  Selenium BasicSelenium topic 1-  Selenium Basic
Selenium topic 1- Selenium Basic
 
Product management meet up post
Product management meet up postProduct management meet up post
Product management meet up post
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
The Importance of Culture: Building and Sustaining Effective Engineering Org...
The Importance of Culture:  Building and Sustaining Effective Engineering Org...The Importance of Culture:  Building and Sustaining Effective Engineering Org...
The Importance of Culture: Building and Sustaining Effective Engineering Org...
 
WhoIsKenDeLong
WhoIsKenDeLongWhoIsKenDeLong
WhoIsKenDeLong
 
14 Habits of Great SQL Developers
14 Habits of Great SQL Developers14 Habits of Great SQL Developers
14 Habits of Great SQL Developers
 
Evaluating Flow Cytometry Hardware - Advice for making the right choice.
Evaluating Flow Cytometry Hardware - Advice for making the right choice.Evaluating Flow Cytometry Hardware - Advice for making the right choice.
Evaluating Flow Cytometry Hardware - Advice for making the right choice.
 
Conducting User Research
Conducting User ResearchConducting User Research
Conducting User Research
 
EMPOWER2017 Sneak Peek
EMPOWER2017 Sneak PeekEMPOWER2017 Sneak Peek
EMPOWER2017 Sneak Peek
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience -
 
Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)
 
體驗劇場_1050524_W14_易用性測試_楊政達
體驗劇場_1050524_W14_易用性測試_楊政達體驗劇場_1050524_W14_易用性測試_楊政達
體驗劇場_1050524_W14_易用性測試_楊政達
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automation
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)
Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)
Usability Lab within Agile (by Ian Franklin at NUX Leeds January 2018)
 
Benefits from AATs
Benefits from AATsBenefits from AATs
Benefits from AATs
 
Hacker News Meetup April 2014
Hacker News Meetup April 2014Hacker News Meetup April 2014
Hacker News Meetup April 2014
 

Recently uploaded

Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 

Recently uploaded (20)

Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 

API Tools.pptx

  • 1. Useful Tools for API Development & Lifecycle Subu Feb 2021
  • 2. Caution! • Less time and lot of content to share • 70 mins presentation & 20 mins Q&A [Timer 55+15+20] • Knowing about a tool != Knowing the tool • Focus is REST / HTTP-JSON APIs
  • 3. How to get max value? • Try to grasp the purpose / value proposition of the tool. • Don’t ask questions about setup/settings of individual tools. All that will be available in documentation links I will share for your reading. • Listen to everything. What is not relevant today might become tomorrow. • Real learning will happen when you start trying/using the tool after the session.
  • 4. Format • Scenario / context • Tool • Capabilities • How to use (demo) • Resources (shared on #api-tools-techtalk) • Assignment (1+1) * And some interesting “tool” quotes 10 tools ~ 6-8 mins / tool
  • 5. "The best investment is in the tools of one's own trade." ~ Benjamin Franklin
  • 6. Mocking • Phases – Ideation, Design, Prototyping, Development, Testing • Starting from scratch. No spec and code exists. • API First • Mockoon • Iteratively “create” functional API endpoints (resources, methods, attributes) with trial and adjustment. • Local development and testing of UI/service without real backend • Automate with CLI 1/10
  • 7. • "A good tool improves the way you work. A great tool improves the way you think." ~ Jeff Duntemann
  • 8. Mocking • Phases – Design, Prototyping, Development, Testing, Integration. • Collaborate using shared/published/stable endpoints. • Developing UI, Proxy, Tests for APIs, CI, Services which consume APIs. • Postman mocks • Define sample responses for requests in collections and publish mock endpoints. • Dynamically vary responses. 2/10
  • 9. "It is essential to have good tools, but it is also essential that the tools should be used in the right way." ~ Wallace D. Wattles
  • 10. Testing – Contract (producer or consumer) • Phases. – Development, Testing, Integration • As producer/consumer ensure the API is working as expected • Postman tests & collection runner • Scripts with assertions for validation of behavior • TDD approach • Tests run manually or automated • Independent of client/producer implementation language 3/10
  • 11. "You have to pick the right tool for the point you're trying to make and there is no one solution." ~ Jay Maisel
  • 12. Monitoring • Phases – Production, Operation • Check availability of published API endpoints, uptime, analytics, alerts • Postman monitors • Create monitors from existing collection • Get alerts, metrics etc. • Free plan has limited quota 4/10
  • 13. "You cannot mandate productivity, you must provide the tools to let people become their best." ~ Steve Jobs
  • 14. Performance and Load • Phase – Testing, Pre-prod, Prod • Test behavior and performance of service under load • JMeter • Define users, requests, endpoints, response • Run test • Analyze results 5/10
  • 15. "If the only tool you have is a hammer, it's hard to eat spaghetti." ~ David Allen
  • 16. Linting (Spec) • Phase – Design, Documentation, Review • Check OpenAPI document for correctness, completeness, guidelines • Stoplight Spectral • Lint/static analysis of OpenAPI document • Test for custom (organization specific) rules 6/10
  • 17. "We become what we behold. We shape our tools and then our tools shape us." ~ Marshall McLuhan
  • 18. Mock service (OpenAPI based) • Phase – Development, Testing • Developing client app when service endpoint not available • Stoplight Prism • Create mock service from OpenAPI definition • Generate static/dynamic responses • Generate responses from examples 7/10
  • 19. "Technology and tools are useful and powerful when they are your servant and not your master." ~ Stephen Covey
  • 20. Manage OpenAPI doc • Phase – Design, Documentation, Review • Manage OpenAPI definition files • openapi-cli • lint, stats, split, join, bundle • Customizable (pre/post-processing) 8/10
  • 21. "Work whatever tools you may have at your command and better tools will be found as you go along." ~ Napoleon Hill
  • 22. Webhooks • Phase – Exploration, Development • Integrating with services which provide webhooks • Get public endpoints • Introspect payloads live • requestbin.com 9/10
  • 23. "Your imagination is an extremely powerful tool." ~ Rhonda Byrne
  • 24. Webhooks • Phase – Development, Testing • Developing handlers for webhook and need public endpoint for testing • ngrok • Expose local endpoint on internet for testing/collaboration 10/10
  • 25. "There is a great satisfaction in building good tools for other people to use." ~ Freeman Dyson
  • 26. Resources Check the notes section below.

Editor's Notes

  1. 1. Mockoon https://mockoon.com/ https://mockoon.com/docs/latest/templating/ Assignment 1: Run mockoon via CLI Tip: https://mockoon.com/cli/ 2. Postman Mock https://www.postman.com/ https://learning.postman.com/docs/designing-and-developing-your-api/mocking-data/mocking-with-examples/ Assignment 2: Try random data dynamic variables and query param based response. 3. Postman Tests https://learning.postman.com/docs/writing-scripts/test-scripts/ Assignment 3: Install Neoman and run a collection from CLI Tip: https://learning.postman.com/docs/running-collections/using-newman-cli/command-line-integration-with-newman/ 4. Postman Monitors https://learning.postman.com/docs/designing-and-developing-your-api/monitoring-your-api/intro-monitors/ Assignment 4: Build your own monitor using Jenkins and Postman collection 5. JMeter https://jmeter.apache.org/usermanual/get-started.html https://jmeter.apache.org/usermanual/test_plan.html jmeter -n -t API_Load_Testing.jmx -l results.jtl jmeter -g results.jtl -o results 6. Stoplight Spectral https://meta.stoplight.io/docs/spectral/docs/getting-started/2-installation.md https://meta.stoplight.io/docs/spectral/docs/guides/4-custom-rulesets.md spectral lint uspto.yaml spectral lint -r custom-rules-spectral.yml uspto.yaml Assignment 5: Custom linting for mandatory examples 7. Stoplight Prism https://meta.stoplight.io/docs/prism/docs/getting-started/01-installation.md https://meta.stoplight.io/docs/prism/docs/getting-started/03-cli.md https://meta.stoplight.io/docs/prism/docs/guides/01-mocking.md prism mock uspto.yaml Assignment 6: Use Prefer option to choose mock responses. 8. OpenAPI CLI https://redoc.ly/docs/cli/commands/ Assignment 7: Try the commands lint stats preview-docs join ... 9. Request bin https://requestbin.com Assignment 8: Setup a bin and sedn request to it from Postman 10. NGROK https://ngrok.com/download ngrok http 7071 Assignment 8: Expose a local endpoint using ngrok and register it as webhook