If you are building a web application, you can either write the functionality yourself or grab the pre-written functionality written by someone else. If you get it from someone else, you are more likely getting it from an API.
APIs (Application Programming Interface) is a powerful part of the web with businesses of all sizes adopting API testing at a fast rate. API testing ensures that the developed API meets the business’s expectations and many organizations are realizing the importance of API testing for creating an effective customer experience.
This is why we compiled a list of the most important API testing interview questions and answers so that you, as an employer or candidate, can be well informed of what to look for in API testing and its functionality.
Common API Testing Interview Questions & Answers
- What is an API?
- What is API Testing?
- Is API considered a software?
- Name the five most important principles of an API design.
- Name some of the types of API Testing.
- Name some commonly used authentication techniques in API testing.
- What are some common tools you can use for API Testing?
- Share some of the advantages of API Testing.
- What are the challenges faced in API Testing?
- What is the procedure for performing API testing?
- What must be checked when performing API testing?
- Differentiate API testing from UI testing.
- What is API documentation?
- What is API Automation?
- Name some of the common API Documentation Templates?
- What is TestApi?
- What kinds of bugs does API testing find most commonly?
- Describe some of the types of status codes.
- What are the most common API/HTTP methods?
- What is the difference between Put, Post, and Patch?
- What should the Delete request return?
- What is payload?
- How can we pass dynamic data for a request?
- What is the difference between API testing and Unit Testing?
- What do you understand about browser APIs?
Our API testing interview questions and answers will help you develop an in-depth understanding of API testing, ranging from beginner to advanced-level knowledge.
API Testing Interview Questions and Answers
1. What is an API?
API (Application Programming Interface) is a software interface that connects two or more applications to exchange data. It improves an organization's productivity and keeps data in sync.
2. What is API testing?
API testing validates the functionality, behavior, security, and performance of the application. It ensures that the developed APIs meet expectations.
3. Is API considered a software?
API is not a software but rather an interface to provide data exchange and functionality among different software applications or processes. While an API provides access to data as well as functionality, it can be thought of as software that fulfills our needs, too.
4. Name the five important principles of an API design.
The five important principles of API design are:Setup: Create objects, start services, initialize data, etc.
Execution: Steps to apply API or the scenario, including logging
Verification: Oracles to evaluate the result of the execution
Reporting: Pass, failed, or blocked
Clean up: Pre-test state
5. Name some of the types of API testing.
Some of the most common API types are:
- Unit Testing
- Functional Testing
- Load Testing
- Runtime/Error Detection
- Security Testing
- UI Testing
- Interoperability and WS compliance Testing
- Penetration Testing
- Fuzz Testing
6. What are some commonly used authentication techniques in API testing?
Some of the most common authentication techniques are: Session/Cookies based authentication, basic authentication, digest authentication, and OAuth.
7. What are some common tools you can use for API testing?
There are many tools available for API testing. Here is a list of the most common:
- SoapUi Pro
- API fortress
8. Share some of the advantages of API testing.
The advantages of API testing are:
- API testing is less time-consuming than functional testing.
- It is cost-effective.
- It is language-independent and time-effective.
9. What are the challenges faced in API testing?
The challenges faced in API testing are:
- API chaining or sequencing the API calls
- Testing parameter combinations
- Frequent Schema changes
- Access to the database
10. What is the procedure for performing API testing?
The API testing steps/procedures are:
- Select the test case that has to be fulfilled
- For API calls, develop a test case
- To meet the test case, configure the API parameters
- Determine how will you validate a successful test
- Using programming languages like PHP or .NET, execute the API call
- Allow the API call to return the data to validate
11. What must be checked when performing API testing?
In order to perform an API test you must check the following:
- Accuracy of data
- Schema validation
- HTTP status codes
- Data type, validations, order, and completeness
- Authorization checks
- Implementation of response timeout
- Error codes in case API returns
- Non-functional testing like performance and security testing
12. Differentiate API testing from UI testing.
API testing allows communication between two software systems. It determines if the developed APImeets the expectation regarding functionality, reliability, performance, and security. It works on the backend and also knows the backend testing.
UI (User Interface) testing means testing the graphical user interface. The focus of UI testing is on the look and feel of the application like how the user interacts with the application elements, such as images, font, layout, etc.
13. What is API documentation?
An API documentation serves as a quick reference for accessing the library or working within a program.
14. What is API automation?
We often need to automate the test cases which are repeatedly executed in every sprint like regression cases. Similarly, in the case of API testing, there are some cases that we need to execute before every release and those cases should be automated.
There are many tools for API automation like:
- Katalon studio
- CloudQA TruAPI
15. Name some of the common API documentation templates.
The most common API documentation templates are: Swagger, RestDoc, FlatDoc, Slate, Web Services API Specification, API Blueprint, and Miredot.
16. What is TestApi?
TestApi is known as the library of test building blocks which are essential for developers and testers when creating testing tools as well as automated test suites.
17. What kinds of bugs does API testing find most commonly?
The types of bugs that APIs will find are:
- Missing or duplicate functionality
- Fails to handle error conditions gracefully
- Unused flags
- Not implemented errors
- Inconsistent error handling
- Multi-threading issues
- Improper errors
18. Describe some of the types of status codes.
Some status codes are:
- 1xx informational response – the request was received, continuing process
- 2xx successful – the request was successfully received, understood, and accepted
- 3xx redirection – further action needs to be taken to complete the request
- 4xx client error – the request contains bad syntax or cannot be fulfilled
- 5xx server error – the server failed to fulfill a valid request
19. What are the most common API/HTTP methods?
The most used HTTP methods are GET, POST, PUT, PATCH, and DELETE.
20. What is the difference between PUT, POST, and PATCH?
PUT: Put request is used for both creating and updating a new object in the database. If the resource already exists, then Put will update the resource. If not, it will create one.
POST: Post request is used for creating a new object in the database. It allows clients to create resources without knowing the URI of the new resources.
PATCH: Patch is used to apply the partial modification to a resource.
21. What should the Delete request return?
Delete request returns the HTTP status code 200(OK) if the response contains an entity describing the status. If the response does not include an entity then it will return 204(No content) and we will get 202(Accepted) if the action has been queued.
22. What is payload?
Payload/body is a secured input data that is sent to API to process the request. The payload is generally constructed in JSON format in REST API.
23. How can we pass dynamic data for a request?
We can write a pre-request script to pass dynamic data or we can create a collection and pass dynamic data using a CSV file.
24. What is the difference between API testing and Unit Testing?
Unit testing is white-box testing while API testing is black-box testing. Unit testing is used to verify that each unit in isolation works as expected while API testing is used to assure full functionality of the system.
25. What do you understand about browser APIs?
Browser APIs are built-in with the browsers. They enable developers to implement complex operations without administering the sophisticated lower-level code.
26. What is REST?
REST stands for Representational State Transfer. REST is an architectural style for web development. REST architecture lays out guidelines for transferring resource representations between clients and servers on the web.
27. How is restful API implemented?
The implementation consisted of running the code from the JUnit tests into the APIs and then refreshing the tests to summon those APIs. The modifyCertificate method, which gives the implementation for the certificates resource PUT method, is the most difficult REST API to implement.
28. What are some key characteristics of REST?
Key characteristics of REST include:
- REST is stateless, therefore the SERVER has no state (or session data).
- With a well-applied REST API, the server could be restarted between two calls as every data is passed to the server.
- Web service mostly uses POST method to make operations, whereas REST uses GET to access resources.
29. What are the HTTP methods supported by REST?
- GET: This requests a resource at the request URL. It should not contain a request body as it will be discarded. It can be cached locally or on the server.
- POST: This submits information to the service for processing; it should typically return the modified or new resource.
- PUT: At the request URL, this updates the resource.
- DELETE: At the request URL, this removes the resource.
- OPTIONS: This indicates which techniques are supported.
- HEAD: This returns meta-information about the request URL.
30. What is the most popular way to represent a resource in REST?
JSON is the most popular and important way to represent resources.
31. Explain caching in Rest API.
Caching is used for network optimization by reducing the load on servers. It is the ability to store copies of frequently accessed data. Get Requests are by default cacheable, however, Post can be made cacheable.
32. What is a Pre-Request script in Postman?
In short, a pre-request script is a script that runs before the execution of a request.
33. What is the importance of setNextRequest in Postman?
setNextRequest is used to define the workflow of API testing. setNextRequest is needed to control the order of the execution of requests.
34. What are the two types of scripts in Postman?
Two types of scripts in Postman are test script and pre-request script.
35. Which type of communication API works in IoT?
REST is the most popular IoT Communication APIs.
36. Define SOAP.
SOAP stands for “Simple Object Access Control,” and it is an XML based protocol for exchanging information between computers.
37. Why is SOAP more reliable than REST?
SOAP is more reliable than REST as it practices WS-Security for transmission with Secure Socket Layer. Also, SOAP is state-full as it takes the request as a whole, unlike REST which gives independent processing of various methods. No independent processing is present in SOAP.
38 . What is the major drawback of using SOAP?
When using SOAP, users often experience firewall security mechanisms as the biggest obstacle. This blocks all the ports, leaving a few like HTTP port 80 and the HTTP port used by SOAP that bypasses the firewall. The technical complaint against SOAP is that it mixes the specification for message transport with the specification for message structure.
39. Can we automate API testing?
Yes, we can automate API testing by using automation testing tools for API testing.
40. Is JMeter good for API testing?
Yes, JMeter is good for API testing, especially REST API. JMeter is an open source tool used for performance or load testing.
41. Can GET request be used instead of PUT to create a resource?
The PUT or POST method should be used to create a resource. GET is only used to request data from a specified resource.
42. What is URI? What is the main purpose of REST-based web services and what is its format?
URI stands for Uniform Resource Identifier. It is a string of characters designed for unambiguous identification of resources and extensibility via the URI scheme.
The purpose of a URI is to locate a resource(s) on the server hosting of the web service.
A URI’s format is <protocol>://<service-name>/<ResourceType>/<ResourceID>.
43. What are the syntax rules for a SOAP message?
The syntax rules for a SOAP message include the following:
- Must use encoded XML
- Envelope namespace must be used
- Encoding namespace must be used
- Must not consist of a DTD reference
- Must not have XML processing instruction
44. What is Run Scope?
Run Scope is an API testing tool that is typically a web application supporting an easier user interface platform to test back-end services.
45. Is it possible to hack API while testing?
Yes, it is possible. This is because we are sending requests over the internet which mostly follows HTTP protocol. This protocol is text-based and is easier to read. Hence, it is required to perform security testing of the APIs to ensure safer systems.
46. How should we test the API security?
To test the security of the API during API testing, we need to validate two components:
- Authentication: Whether the identity of the end-user is correct
- Authorization: Whether the user is allowed to access the resource
We can also validate whether the TLS or the SSL certificate used over the HTTPS protocol is valid or not.
47. What helps hide the distinction between different micro-services?
The API Gateway hides the distinction between different micro-services.
48. What is the most commonly used command-line tool to explore API?
The most commonly used command-line tool to explore API is cURL.
49. When a user attempts to access records that do not belong to them, what should the API return in the response status code?
The API should return the 401 status code.
50. What is the kind of API traffic that is internal to the organization?
The Internal Traffic is internal to the organization.
51 Which among the following options is used for requesting JSON instead of XML from API?
The Use Accept Header would be used for requesting JSON instead of XML with API.
52. Which options help to identify the type of API requests?
The HTTP Methods help identify the type of API requests.
53. What category does API testing belong to?
API testing is generally black-box testing. We don't look at what happens behind the API server. We only validate the responses.
54. Which markup language can be used in Restful Web API?
JSON and XML are the two markup languages that can be used in Restful Web API.
55. What is the upper limit for a payload to pass in the POST method?
GET appends data to the service URL. But, its size shouldn’t exceed the maximum URL length. However, POST doesn’t have any such limit.
So, theoretically, a user can pass unlimited data as the payload to POST method. But, if we consider a real use case, then sending POST with a large payload will consume more bandwidth. It’ll take more time and present performance challenges to your server. Hence, a user should take action accordingly.
Who can benefit from learning about API testing?
Anyone can benefit from learning about API testing but fluency is most important for anyone interested in programming. We have covered some key API testing interview questions that should convey a candidate's understanding of the subject. While it is important to have some general knowledge of API testing, most API testing knowledge is gained through hands-on experience. This article is a great template and conversation starter for your next interview.