I am Giving a Workshop on API Testing to Computer Science Students at Tecnológico de Monterrey Tomorrow

I am giving a presentation to my friend Ken Bauer Favel's (@ ken_bauer) class of computer science sutdents at Tecnológico de Monterrey (@TecDeMonterrey) tomorrow, and I wanted to prepare an overview of what I am going to be talking about, and share some links for the students to follow. I am doing more workshops with students recently as part of Postman student outreach, and Ken’s class is exactly the target audience we are interested in reaching. These are young minds who are just getting started in their careers and they should be aware of APIs, how to put them to work, but more importantly making sure they are fully tested and reliable for consumers, and the applications that are built on them.

Ken’s class is all about software quality and testing, so I figured I would take a look at how APIs can be defined, versioned, managed, and tested. I’ll be showing them the process using Postman, which is a ubiquitous tool for developers within the enterprise but the concepts I'll demonstrate are universal an something the students can apply using different tooling, using any HTTP API. Here are the building blocks of what I’ll be walking them through, with some links to help them get primed if they have the time.

  • API 101 - A quick refresh about what APIs are, and acknowledging they are behind every technological shift of the last 20 years.
  • History of APIs - A quick look at how we got here, and the role that APIs play in modern software development.
  • Introduction to Postman - Learning about how Postman can be used to make calls to web APIs without writing code.
  • OpenAPI (formerly known as Swagger) - Looking at how OpenAPI can be used as the contract for each API, providing a machine readable definition for each API.
  • API Authorization - Taking a moment to understand how APIs employ authentication, and how Postman can help you apply common forms of authentication.
  • Postman Collections - Understanding how to save API requests as collections, so that they can be used for many different purposes in the future, while developing, testing, and consuming APIs.
  • Scripting in Postman - Taking collections to the next level by adding pre-request or test scripts that can be used to test the contract of each API being developed.
  • Running Collections - How you run your collections using runners, monitors, or in the command line, helping make sure your APIs are always delivering as expected.

I will leave the rest of the conversation open ended, letting students ask questions, then dive deeper into each of these areas, or go in other directions that might help them build better software using APIs. If they want to follow along, the students should have Postman downloaded, so that they can play with the platform as I am working my way through examples. If they are feeling adventurous ahead of time, they can use this collection:

  • Intro to Writing Tests - This is a ready to go Postman collection that will show many of the most common API testing patterns we see at Postman.

There won’t be any “tests” for my workshop, but it is always more engaging when students have downloaded Postman and are already familiar with the platform and tooling. However, that isn’t required, and students should be able to learn plenty just by following along during our discussion, but make sure and ask questions that will help make my workshop a little more relevant in their world, and applicable to their projects.

I thoroughly enjoy doing these types of workshops because I get such great questions from students. Their view of the world always helps me better understand APIs and also helps make me a better storyteller and teacher. If you are a professor or high school teacher I am happy to schedule time for similar workshops within your class. It doesn’t have to be on API testing. I am happy to get as technical or non-technical as needed in my presentations and discussions. If feel pretty strongly that all students should be exposed to APIs, even if they aren’t going to be software developers. APIs are literally behind everything we do online, and it is important to understand at least how they work, and what they can do.

Thanks for having me Ken, and I look forward to talking with your class tomorrow.