SlideShare una empresa de Scribd logo
1 de 26
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.

Más contenido relacionado

Similar a 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 PerspectiveMalinda Kapuruge
 
Product management meet up post
Product management meet up postProduct management meet up post
Product management meet up postSteve Cook
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA 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 DevelopersIke 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 ResearchJeremy Horn
 
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
 
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
 
Hacker News Meetup April 2014
Hacker News Meetup April 2014Hacker News Meetup April 2014
Hacker News Meetup April 2014Dan Quine
 

Similar a 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
 

Último

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 

Último (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

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.

Notas del editor

  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