API testing Interview Questions and Answers

1) What is API testing?
API (Application Programming Interface) specifies how some software components should interact with other, in other words it’s a set of functions and procedures that allows the creation of applications which access the features or data of an application or operating system.   Testing of these functions is known as API testing.

2) What are the tools used for API testing?
The tools used for various API testing are
  • SoapUI Pro
  • PostMan
  • Alertsite API monitoring

3) What are the common tests performed on API’s?
The common tests performed on API’s
  • Verification of the API whether it is updating any data structure
  • Verify if the API does not return anything
  • Based on input conditions, returned values from the API’s are checked
  • Verification of the API whether it triggers some other event or calls another API

4) Mention the key difference between UI level testing and API testing?
UI ( User Interface) refers to testing graphical interface such as how user interacts with the applications, testing application elements like fonts, images, layouts etc. UI testing basically focuses on look and feel of an application.
While, API enables communication between two separate software systems. A software system implementing an API contains functions or sub-routines that can be executed by another software system

5) Explain what is SOAP?
SOAP-stands for Simple Object Access Control, and it is an XML based protocol for exchanging information between computers.

6) Explain what is REST API?
It is a set of functions to which the developers performs requests and receive responses. In REST API interaction is made via HTTP protocol
REST – stands for Representational State Transfer, it is quickly becoming defacto standard for API creation.

7) Difference API and Unit Testing?
                            API testing
                         UNIT testing
  • API is owned by QA team
  • Unit testing is owned by 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
8) How to test API’s ?
To test the API’s you should follow the following steps
  • Select the suite in which you want to add the API test case
  • Choose test development mode
  • Develop test cases for the desired API methods
  • Configure application control parameters
  • Configure test conditions
  • Configure method validation
  • Execute API test
  • View test reports
  • Filter API test cases
  • Sequence API test cases

9) Mention what the main areas to be taken in consideration while writing API document ?
The key area to be considered when writing API documents are
  • Source of the content
  • Document plan or sketch
  • Delivery layout
  • Information required for each function in the document
  • Automatic document creation programs

10) In API document explain how to document each function ?What are the tools used for documentation?
  • Description: Small description about what a function does
  • Syntax: Syntax about the parameter of the code, the sequence in which they occur, required and optional elements etc.
  • Parameters: Functions parameters
  • Error Messages: Syntax of error messages
  • Example Code: Small snippet of code
  • Related Links: Related functions
Popular tools used for API documentations are JavaDoc (for Java code ) Doxygen (for .Net code)

11) Explain API framework?
API framework is self-explanatory. Values for test run and for holding the configurable parts, config file is used.  Automated test cases must represent in “ parse-table” format within config file.  When testing API, it is not necessary to test each API so the config file have some section whose all API are activated for that specific run.

12) How does the API Builder work?
API Builder is a PLSQL program consists of four SQL files
  • For setting API parameters and starting the process one file is responsible
  • Two files are created for temporary tables and Master package to create the outputted code
  • Fourth file creates “spooled” output of the code into a file called “output_script_.sql”

13) Explain what is TestApi ?
TestApi is a library of utility and test APIs that enables testers and developers to create testing tools and automated tests for .NET and Win32 application.  It provides a set of common test building blocks, types, data-structure and algorithms.

14) What is Input injection and what are different ways of doing it ?
Input Injection:  It is the act of simulating user input, in several ways you can simulate user input.
  • Direct Method Invocation
  • Invocation using an accessibility interface
  • Simulation using low-level input
  • Simulation using a device driver
  • Simulation using a robot

15) What are the main challenges of API testing?
The main challenges in API testing is
  • Parameter Selection
  • Parameter Combination
  • Call sequencing

16) What is API testing with runscope ?
Runscope is a web application that provides backend services and easy to use interface for testing APIs.

17) Explain what are the principles of API test design?
The principle for API test design are
  • Setup : Create objects, start services, initialize data etc
  • Execution: Steps to exercise API or scenario, also logging
  • Verification: Oracles to evaluate execution outcome
  • Reporting: Pass, failed or blocked
  • Clean up: Pre-test state

18) What are the types of Bugs will API testing finds?
The types of Bugs, API will find
  • Missing or duplicate functionality
  • Fails to handle error conditions gracefully
  • Stress
  • Reliability
  • Security
  • Unused flags
  • Not implemented errors
  • Inconsistent error handling
  • Performance
  • Multi-threading issues
  • Improper errors

19) What are the tools used for API test automation?
While testing Unit and API testing,  both target source code, if an API method is using code  based on .NET then the tool which is supporting should have .NET
Automation tools for API testing can be used are
  • NUnit for .NET
  • JUnit for Java
  • HP UFT
  • Soap UI

20) Mention the steps for testing API ?
API testing steps
  • Select the test case that has to be fulfilled
  • For API call develop a test case
  • To meet the test case configure the API parameters
  • Determine how will you validate a successful test
  • Using programming language like PHP or .NET execute the API call
  • Allow the API call to return the data to validate

21) What are the common protocols that are testing in API tesing ?
  • HTTP
  • JMS
  • REST
  • SOAP
  • UDDI

Comments