API Testing Interview Questions and Answers

SQL INTERVIEW QUESTION PART-2

API Testing Interview Questions and Answers

Below is the list of most frequently asked API Testing Interview Questions and Answers

1. What are the main differences between API and Web Service?

  • All web services are APIs but not all APIs are web services.
  • A web service uses only three styles of use: SOAP, REST, and XML-RPC for communication whereas API may be exposed to in multiple ways.
  • A web service always needs a network to operate while APIs don’t need a network for operation.
  • Web services might not contain all the specifications and cannot perform all the tasks that APIs would perform.

 

2. Who can use a Web API?

Clients that support HTTP verbs such as GET, PUT, DELETE, POST. Since Web API services do not require configuration, they can be easily used by any client. Portable devices such as mobile devices can easily use Web API, which is undoubtedly the biggest advantage API.

 

3. What is API Testing?

API Testing a kind of software testing to determines and check if the developed APIs meet expectations regarding the functionality, reliability, performance, and security of the application or not.

 

4.What are the advantages of API Testing?

  • Compatibility and easy integration with GUI: Simple integration would allow new user accounts to be created within the application before a GUI test started.
  • Language-Independent: In API testing, data is exchanged using XML or JSON. These transfer modes are completely language-independent that allows users to select any coding language while adopting automation testing services for the project.
  • Time Effective: In comparison to functional GUI testing API testing usually is less time-consuming. The web elements in GUI testing must be polled, which makes the testing process slower. Particularly, API test automation requires less code so it can provide better and faster test coverage compared to GUI test automation.
  • Test for Core Functionality: API testing provides the ability to access to the application without a user interface. The core and code-level of functionalities of the application will be tested and evaluated early before the GUI tests. This helps in detecting the minor issues which can become bigger during the GUI testing.
 

5. What are the principles of an API test design?

Basically, there are five most important principles of an API test design:

  • 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

 

6. What are the common API testing types?

  1. Validation Testing
  2. Functional Testing
  3. UI testing
  4. Load testing
  5. Runtime/ Error Detection
  6. Security testing
  7. Penetration testing
  8. Fuzz testing
  9. Interoperability testing

 

7. What is the procedure to perform API testing?

  1. Create the suite to add the API test case
  2. Create the test development mode
  3. Demand the development of test cases for the required API methods
  4. Configure the control parameters of the application and then test conditions
  5. Configure method validation
  6. Arrange all API test cases
  7. Execute the API test
  8. Check test reports

 

8. What must be checked when performing API testing?

  • Accuracy of data
  • Non-functional testing like performance and security testing
  • Implementation of response timeout
  • Schema validation
  • HTTP status codes
  • Data type, validations, order, and completeness
  • Authorization checks
  • Error codes in case API returns

 

9. What are tools could be used for API testing?

A few common tools are Katalon StudioPostmanSoapUi ProApigee, automated API testing using REST Assured and CURL etc.

 

10. What are the differences between API Testing and UI Testing?

  • API enables the communication between two separate software systems. A software system implementing an API contains functions or subroutines that can be executed by another software system.
  • On the other hand, UI ( User Interface) testing refers to testing graphical interface such as how users interact with the applications, testing application elements like fonts, images, layouts, etc. UI testing basically focuses on the look and feel of an application.

 

11. What are the common protocols that are testing in API testing?

  • HTTP
  • JMS
  • REST
  • SOAP
  • UDDI

 

12. What are the types of Bugs API testing can find?

The types of Bugs, API will find

  • Missing or duplicate functionality
  • Stress
  • Reliability
  • Security
  • Performance
  • Unused flags
  • Not implemented errors
  • Inconsistent error handling
  • Improper errors
  • Fails to handle error conditions gracefully
  • Multi-threading issues

 

13. What are the main challenges of API testing?

The main challenges in API testing are

  • Parameter Selection
  • Parameter Combination
  • Call sequencing

 

14. Difference API and Unit Testing?

        API testing                         UNIT testing
  • API is owned by QA team
  • Unit testing is owned by the development team
  • API is mostly black box testing
  • Unit testing is white box testing
  • Full functionality of the system is considered in API testing as it will be used by the end-user (external developers who will use your API )
  • Unit testing is done to verify whether each unit in isolation performs as expected or not
  • API test are often run after the build is ready and authors do not have access to the source code
  • For each of their module, the developers are expected to build unit tests for each of their code modules and have to ensure that each module pass unit test before the code is included in a build

 

15. What are API documentation templates that are commonly used?

There are several available API documentation templates help to make the entire process simple and straightforward.

 

16. What is RESTFul Web Services?

Web services developed in the REST style are referred to as RESTful web services. These web services use HTTP methods to implement the concept of REST architecture. A RESTful web service usually defines a URI, Uniform Resource Identifier a service, provides resource representation like JSON and a set of HTTP methods.

 

17. What is a “Resource” in REST?

REST architecture treats any content as a resource, which can be either text files, HTML pages, images, videos or dynamic business information.

 

18. Enlist some of the API examples which are very well known and popular.

  • Twitter: The API for Twitter is usually in two categories, one for accessing data and the other for interacting with the Twitter search.
  • YouTube: This API used for YouTube includes various functionalities including videos, live streaming, player, etc.
  • Google Maps API: These are designed mainly for mobile and desktop use with the help of a flash interface and JavaScript.
  • Amazon Advertising API: Amazon is known for their products and thus their advertising API accesses their product to discover their functionality and thus advertise accordingly.

 

19. Explain API documentation.

API documentation serves as a quick reference for accessing the library or working within a program. When we go through any such documents, it must consist of a proper plan, content source, proper layout or sketch for delivery, information related to each function, etc.

API documentation tools are:

  • JavaDoc
  • Doxygen

 

20. Can you tell us which Java API helps in developing a RESTFul web service?

In JAVA there are many frameworks and libraries available that a developer can use to create RESTful web services. For example, the JAX-RS library is a standard way to develop a REST web service. Also, Jersey is another most popular implementation of JAX-RS which offers more than what the specs recommend. There are others like RESTEasy, RESTlet, and Apache CFX and Play framework to develop RESTful web services.

CONTINUE TO NEXT PART

For more API Testing Interview Question visit ALLSTQ

Leave a Comment

Your email address will not be published.