Keploy API Fellowship Experience '23

Keploy API Fellowship Experience '23

Overview

It was a Fellowship program based on APIs, their working, problems and their solutions. I got to know about this program through Linkedin posts, and I was immediately drawn towards the program's mission, which is to empower individuals to learn about APIs in depth. So I was super excited and visited their page https://fellowship.keploy.io/ and within two days I got the selection mail for the fellowship.

So the fellowship journey started on 20th January and finished on 6th February with 6 sessions. During the fellowship, I got to learn about APIs, their creation and testing and gain real-world experience. Every session was so engaging and fruitful that after the session there is a curiosity to learn more about API creation and testing.

About Keploy

Keploy is an open-source functional testing toolkit for developers which generates E2E test cases for API along with mocks using API calls. It also generates stubs or KMocks which can be referenced to use anywhere that includes any testing framework.

Keploy works on the principle of Record & Replay. It provides an SDK which records all the API calls between the app and other API servers like databases, third-party vendors, etc. in the Keploy server as test cases.

Now when you build a new version of that app, and you need to test it, this is where Keploy comes in. As it recorded all previous API calls as test cases you don't need to write test cases as it will Replay all the test cases stored in it and gives more code coverage with real-world calls and saving lots of time with low minimal setup time and super fast execution.

Features of Keploy

  1. Dependency Mocking - It records exact API calls including dependency data so that the developer does not need to write mocks for any API services.

  2. Automated Assertions - It automatically compares the attributes of actual and expected test results.

  3. Fast and Detailed Result - It tests the new version of the application with thousands of test cases and generates a detailed test report in an instant.

  4. Simple CI/CD integration - It has native integration support to popular testing libraries like go-test and JUnit, and the test results are combined with the existing ones and Keploy recorded ones without extra sweat.

  5. Easy integration for new Libraries - It has an integration framework to easily add new libraries with less than 100 lines of code.

The Fellowship Journey

Session 1:

This was the orientation session, I learned about the program, its goals and what skills I would be gaining. Also learnt about HTTP and HTTPS requests and Intro to API, which gave me a solid start for the journey.

I have shared all the learning in my blog here -https://hashnode.com/post/cld7f85lz00010ajl98wz5tmh

Session 2:

In this session, I was introduced to the world of API and various methods like GET, POST, PATCH, etc. and how they are used in real-world applications. It gave me a foundation to start with API development as all theoretical aspects are covered in this session.

I have also written a blog regarding APIs here - https://hashnode.com/post/clda54h7x000d09kyapm4hcrj

Session 3:

In this session, I learned about public APIs and various tools like Postman. And created a web application which uses a public API to fetch data and show it in my app. The transition from theory to practical gave a boost to my learning and make more applications and explore even more public APIs.

Session 4:

Now it was time to build a custom API endpoint and connect it to the web app. In this session, I was taught exactly this, how to create a custom API server using express.js and serve files through that API. It was more of a development-oriented session and now the fun has just begun.

Session 5:

In this session, I was taught how to serve dynamic files by using a database and do CRUD operations through the custom-built API. So I used MongoDB and integrated it with my web app. Now comes the problems with API like how to verify if the API is working. Then Postman was introduced for testing the API and learnt how to write postman tests for API testing purposes.

Session 6:

This session was all about Keploy, till now we have created a web app and written postman test cases but the problem comes when we do changes our app and update it. Manual testing is so tiresome task and code coverage is also a concern.

Here comes Keploy, we were taught how Keploy works, what problem it solves and what are its features. We were taught how an individual developer can integrate Keploy SDK in their project and make use of Keploy to test the application with high efficiency.

Overall, I am very grateful for the opportunity for the API fellowship program and to have had the chance to apply. I learned about API and elevated my knowledge about how modern applications work. I am super excited to see what the future holds and I look forward to more opportunities like these to grow in my career as Developer.