Top 20 API Interview Questions and Answers

API Testing Interview Questions and Answers

Web API is one of the important concepts of programming and software development. Irrespective of the type of developer you are, you will always have to work on APIs. Keeping this in mind, here we have gathered a set of web API interview questions. This will help you understand the basics and what to expect when you are appearing for the interview.  

 

1. What is an API? 

 

API or Application Programming Interface, which helps two or more components connect and communicate with each other. The simplest way to explain this is through the example of an e-commerce store.  

 

For example, consider that you have an eCommerce website that has stationery products. In order to accept payments, and process orders, you must have a payment gateway. And this is where the concept of APIs comes into play. By definition, APIs are set programs that allow two standalone applications to communicate and share data.  

 

Precisely, it comprises logs, subroutine definitions, and tools required to create an application.  

 

2. List the main differences between API and Web Service? 

 

Web Service is the set of protocols that regulate the sharing or the transfer of data from one application to another. When you have two or more software programs running on different platforms, web services help migrate data from one end to the other without any hassle.  

 

API vs Web Services
API vs Web Services

 

Even though it seems similar to that of APIs, the two are largely different. Major differences between API and web services include: 

 

Web Services  APIs 
Set of protocols regulating the transfer of data from one application to the other.   Software interface facilitating the transfer of data between applications. 
Supports XML.  Web API’s MediaTypeFormatter formats the response to support XML, or JSON, besides other formats.  
Requires SOAP protocol for transferring data/information. Not lightweight.   Has a lightweight architecture. 
Three communication style: REST, SOAP, XML-RPC.  Versatile and facilitates all communication styles. 
Supports only HTTPS protocol.   Is compatible with HTTPS: Header, Request/Response. 
All web services are APIs.  Not all API is a web service. 

 

3. Explain the architectural style for creating web API? 

 

There are four architectural styles facilitating the creation of web APIs.  

  • HTTP: To aid communication between the client and the server. 
  • XML/JSON: Help in a formatting language 
  • Simple URI: The service’s address 
  • Stateless communication 

To know more, visit here. 

 

4. Explain what is REST and RESTFUL API? 

 

REST or REpresentational State Transfer is primarily the architecture style that facilitates web services. RESTful isn’t anything different. It is a service that implements REST. In other words, RESTFUL API is the web service written following the REST architecture style. It takes into consideration the system preferences which help determine the process of data transfer. That is to say, it figures out how to send a resource from one application to others over the HTTP protocol. 

 

5. What is SOAP API? How does it work? 

 

SOAP API enables multiple applications/processes to share,  connect, and communicate via HTTP using XML documents. The term SOAP stands for Simple Object Access Protocol and accounts for the creation, deletion, and modification of records in a system.  

Unlike REST API, SOAP is an XML-only protocol and strongly adheres to the preset standards that include rulesets for encoding characters/messages, the format of messaging, and convention followed for initiating request/response.  

SOAP API works in a four-step process: 

  1. The SOAP client initiates a request for a dedicated service. An XML document with the necessary parameters is sent to the server.  
  2. Upon receiving, the request is sent to a Request Handler on the web server. This is done using HTTP or HTTPS protocol. 
  3. The Web server will have the SOAP Request Handler Servlet, the XML document, and the SOAP message. The message is sent to the server-side application providing information on the requested service. 
  4. The server-side application returns the response both to the SOAP Request Handler Servlet and the caller adhering to the standard SOAP XML payload format 

 

6. Enlist the elements that are part of the message structure of SOAP? 

 

A SOAP message is encoded in the form of an XML document which is then sent to the server. There are four elements within the message: 

Elements of SOAP message
Elements of SOAP message

 

  1. SOAP Envelope: This is the outer part or the root of the structure. It comprises two child elements namely, header and a body. 
  2. SOAP Header: The header outlines application-oriented information. However, this is an optional element in the SOAP message structure.  
  3. SOAP Body: This is the most important element and the must-have within the SOAP message structure. It contains the intended information to be sent to the recipient. 
  4. SOAP Fault: This is the sub-element of the SOAP body element and carries error’s information which may have occurred while processing the message. 

 

7. What are the SOAP protocol class’s major functionalities? 

 

A SOAP protocol class renders simple access methods to the applications that are present over the web. It offers the below-mentioned functionalities:  

  • Call: This is a class that provides the core functionality for the remote method that requires a call. In other words, this helps create the call method and further, outline the registry’s encoding style to be assigned as and when needed. RPC call uses this call() to represent the call object’s options. 
  • Deployment Descriptor: This is a class that renders information on SOAP services. Leveraging a deployment descriptor, you can simplify the deployment process. 
  • DOM2 Writer: This serializes and further, utilizes the DOM node in the form of XML string adding more to the list of functionalities. 
  • RPC Message: This is a base class used for calling as well as replying to the server’s request. 
  • Service Manager: This enlists and then renders few or all of the SOAP services. 

 

8. What are the advantages of SOAP? 

 

  • SOAP is platform, transport, and language independent. 
  • No changes in the functionality of SOAP in a distributed enterprise environment. 
  • SOAP has a built-in error handling mechanism. 
  • Support automation as and where necessary.  
  • Draws a line, separating the encoding protocols from the runtime environment. 
  • Running over HTTP, it eliminates all issues related to the firewall. 

 

9. What is the difference between SOAP and REST? Or, SOAP or Rest APIs, which method to use? 

 

SOAP API  REST API 
SOAP is a communication protocol designed with a particular specification.  REST is an architectural pattern where the web service is limited to act as a RESTful service. 
 SOAP API cannot utilize REST.  REST, being an architectural pattern can integrate SOAP as its communication protocol. 
Supports only XML.  Supports multiple data formats including XML. 
Slower in speed.  Faster than SOAP and scalable. 
SOAP reads cannot be cached.  REST reads can be cached.  
Envelopes the message.  Uses HTTP header to store metadata.  
SOAP acts like a custom-designed application connected to the server.  REST acts like a browser making use of one or more methods. 

 

In the battle of SOAP vs REST API, we see that REST is scalable and rich in performance while SOAP offers a much more secured infrastructure and hence, is the most preferred form of API. 

 

10. What are the differences between AJAX and REST? 

 

AJAX  REST 
A technique used to modify parts/elements of a UI without having to reload the entire page.   An architectural style that helps get data from the server.  
Uses the XMLHttpRequest object to send data to the server.  Has a dedicated URL structure with a hard-coded request and response pattern. 
Doesn’t require interaction between the server and the client.  Mandates the client-server interaction. 

 

11. What are the differences between PUT and POST? 

 

PUT   POST 
Used to update or modify resources already existing on the server.   Uses to upload or add a child resource to the server data.  
The PUT method is idempotent.   The POST method is not idempotent. 
Caching is possible.  You cannot cache POST responses.  
Sending the request more than once doesn’t change the result.   Sending the same request one after the other will modify the results. 
The client decides the URI resource.  The server specifies the URI resource. 
Query used: UPDATE  Query used: CREATE 
Syntax: PUT /questions/{question-id}  Syntax: POST /questions 

 

12. What are the core components of an HTTP request? 

 

There are five key components in an HTTP request: 

  • An action for HTTP methods such as GET, PUT, DELETE, POST, etc. 
  • HTTP Version 
  • URI or the Uniform Resource Identifier. 
  • Request Header.   
  • A Request Body.  

 

13. Explain the commonly used REST-supported, HTTP methods? 

 

GET: To request or obtain data from a particular resource. You can cache and bookmark GET requests. Meaning that it stays in the history of the browser but has limitations with respect to the length.  When working on sensitive data, GET requests aren’t feasible.  

POST: To send or dispatch data to the server. POST also helps create a new resource or update the existing one.  Caching or bookmarking of POST requests is not possible. In other words, they do not stay in the browser history. 

PUT: To modify or replace the existing representations following the request payload. 

DELETE: To permanently remove a given resource. 

OPTIONS: To describe the options of communication for a particular resource. 

HEAD: To get data without the body of the response. 

 

API Testing Interview Questions 

 

1. What is API Testing? 

 

API testing is a type of software testing that checks and validates whether or not the API has the desired functionality. In other words, this is one way of verifying the efficiency, security, and performance of the newly designed API.  

 

2. What are the advantages of API Testing?    

 

Wider test coverage: Where Unit testing aims at individual applications and the components within, API testing tends to cover a wider area. It focuses on the standalone applications as well as delves deeper looking for issues post the integration of two applications. Furthermore, it verifies whether or not the applications work in a desirable manner, after they have been integrated with another application.  

 

Lowers cost of testing: To conduct API testing, you don’t need to wait for the GUI or the completion of the business logic. As a matter of fact, it is done at earlier stages, saving the efforts and time spent on fixing the errors when detected at a later stage. 

 

Independent of language: Data transfer in API isn’t dependent on any single language giving developers the ease to select one of their choices.  

 

Access without UI: As mentioned earlier, API testing doesn’t require the user interface. Consequently, it helps the QA engineers to detect and fix issues long before they cast an impact on the GUI.  

 

3. What are the differences between Unit and API Testing? 

 

API Testing vs Unit Testing 

API Testing  Unit Testing 
API testing is one type of software testing done to confirm the efficacy of the application programming interface.  It performs tests on the smallest piece of code validating its overall functionality. 
Conducted by testers.   Conducted by developers. 
Mostly involves black box testing.  Mostly involves white box testing.  
It primarily aims to verify that two applications can effectively communicate and don’t experience any issues throughout their interactions.   Focuses on the core functionality of the application besides verifying that a piece of code is fit for the program. 

 

Tested after the creation of the build.   Tested before check-in of the code. 

 

4. What type of testing environment do you require for API? 

 

Configure the database along with the server to set up the API testing environment. This is done based on the software requirements. Note that the GUI isn’t present and you need to be careful while preparing the test environment.  

 

And, after the installation process is complete, the API is verified and over the course of testing, it is called from the actual environment using a series of parameters. This helps study and verify the results of the testing.  

 

5. What are the common API testing types?  

 

  • Validation Testing: This assures the development, confirming the efficiency and effectiveness of the application.  
  • Functional Testing: Tests the functionality of the application under various scenarios.  
  • UI Testing: The look and feel of the application.  
  • Security Testing: Verifies whether or not the designed API is free from threats and hacks.  
  • Load Testing: Tests the performance of the application in normal as well as peak conditions.  

 

6. What are the tools you need to test your web API? 

 

The common tools include:    

 

7. What to check when performing API testing? 

 

For every API request, you must verify the following: 

  1. Data accuracy. 
  2. Status of the HTTP code. 
  3. Response time. 
  4. The correctness of the state of the application. 
  5. Error codes, if any. 
  6. Security aspects of the application. 
  7. Performance measures.  

 

8. What are some best practices to make API testing successful? 

 

The best way to successfully execute API testing is by doing a few things:  

  • Make sure the input parameters are all correct. 
  • Outline the scope and functionality of the program.  
  • Enlist the test cases and adopt the best techniques to test the operability.  
  • Test and compare the results. 
  • Verify the performance and behavior of the application under various scenarios.  

 

9. What are the major API testing challenges? 

 

  1. Parameter combination: APIs, as we know, regulates communication between systems. Meaning that it passes data values (parameters) to the application through data requests. It is imperative that all possible combinations for a pair of values be used in order to avoid error in the future.  
  2. Parameter selection: Testing can be a lot easier when the right parameters are selected. Given that APIs help with communication, it is important that while testing, the right set of parameters are chosen. If you are to test the addition of two integers, you must take into account both positive and negative ones to test the system better. 
  3. Call sequencing: APIs account for application calls. It is necessary that the calls made are in a certain order. This is referred to as call sequencing. If at any point in time, a call that had to be made in step 2 is done at first, it would return an error. For instance, say you have to create a user’s account and then make a call to get his/her information. If the application calls the get_information method before profile creation, the system returns an error. It is a huge challenge for the testing team to sequence calls and ensures that they are executed in the required order. 
  4. Verification: For situations that involve numerous parameters, one must ensure that the values are of the correct type and format.  
  5. Input values (given GUI isn’t available): Having a user-friendly interface simplifies every activity. However, the same doesn’t apply when the system lacks a GUI. It is both challenging and daunting for the testers to work through the system.  

 

10. Explain the API testing approach. 

 

Follow the steps given below to conduct API testing:  

  1. Select the suite to add them to the test case of the API. 
  2. Select the development mode of the API text case. 
  3. Seek development of the test cases for the chosen methods. 
  4. Configure the parameters followed by the text conditions.  
  5. Configure the validation methods. 
  6. Lastly, run the API tests.  

 

After the execution of the tests, check and verify the same. To learn more about API testing, visit here. 

 

We hope that the aforementioned Web API Interview Questions will help you prepare and hone your skills. To learn more about automation and common interview questions, visit here. In case you have any questions, let us know in the comment box.  

Related Articles

Responses

HACKERBUCK AWARDED