1. What is an API?
An API (Application Programming Interface) is a software intermediary that enables two applications to communicate with each other. It comprises a number of subroutine definitions, logs, and tools for creating application software.
In an API testing interview, you could be asked to give some API examples, here are the well-known ones: Google Maps API, GITHub Advertising API, Twitter API, YouTube API, etc.
2. What are main differences between API and Web Service?
- All Web services are APIs but not all APIs are Web services.
- Web services might not contain all the specifications and cannot perform all the tasks that APIs would perform.
- A Web service uses only three styles of use: SOAP, REST,GRAPHQL 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.
3. What are major challenges faced in API testing?
If you can overcome the challenges in API Testing, you can be confident in the API testing interview too. They are:
- Parameter Selection
- Parameter Combination
- Call sequencing
- Output verification and validation
- Another important challenge is providing input values, which is very difficult as GUI is not available in this case.
4. Who can use a Web API?
Web API can be consumed by any clients which 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. In fact, even portable devices such as mobile devices can easily use Web API, which is undoubtedly the biggest advantage of this technology.
5. What are differences between API Testing and UI Testing?
- API enables 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 look and feel of an application.
6. What is API Testing?
API testing is a kind of software testing which determines if the developed APIs meet expectations regarding the functionality, reliability, performance, and security of the application.
7. What are the advantages of API Testing?
In an API interview, they are likely to ask about the advantages of API testing. So be prepared with the significant ones such as:
- Test for Core Functionality: API testing provides 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 will help detect the minor issues which can become bigger during the GUI testing.
- Time Effective: API testing usually is less time consuming than functional GUI testing. 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. These will result in the cost saving for the testing project.
- Language-Independent: In API testing, data is exchanged using XML or JSON. These transfer modes are completely language-independent, allowing users to select any code language when adopting automation testing services for the project.
- Easy Integration with GUI: API tests enable highly integrable tests, which is particularly useful if you want to perform functional GUI tests after API testing. For instance, simple integration would allow new user accounts to be created within the application before a GUI test started.
8. Some common protocols used in API testing?
Many protocols are now available to be used in API testing, such as JMS, REST, HTTP, UDDI and SOAP.
9. What is the test environment of API?
Setting up the API’s test environment is not an easy task, so you should have a ready answer if your API testing interview is coming. The test environment of API is a bit complete and requires the configuration of the database and server, depending on the software requirements. No GUI (Graphical User Interface) is available in this test form.
When the installation process is complete, API is verified for the proper operation. Throughout the process, the API called from the original environment is set up with different parameters to study the test results.
10. What are principles of an API test design?
The five most important principles of an API test 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
11. What are the common API testing types?
While there are certainly specialty tests, and no list can be asked to be comprehensive in this realm, most tests fit broadly into these following nine categories that you should remember before attending in an API testing interview.
- Validation Testing
- Functional Testing
- UI testing
- Load testing
- Runtime/ Error Detection
- Security testing
- Penetration testing
- Fuzz testing
- Interoperability and WS Compliance testing
12. What is the procedure to perform API testing?
- Choose the suite to add the API test case
- Choose the test development mode
- Demand the development of test cases for the required API methods
- Configure the control parameters of the application and then test conditions
- Configure method validation
- Execute the API test
- Check test reports and filter API test cases
- Arrange all API test cases
13. What must be checked when performing API testing?
During the API testing process, a request is raised to the API with the known data. This way you can analyze the validation response. While testing an API, you should consider:
- 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, and
- Non-functional testing like performance and security testing
14. What is the best approach method to perform API testing?
The following factors should be considered when performing API testing:
- Defining the correct input parameters
- Verifying the calls of the mixture of two or more added value parameters
- Defining the basic functionality and scope of the API program
- Writing appropriate API test cases and making use of testing techniques such as equivalence class, boundary value, etc. to check the operability
- Testing case execution
- Comparing the test result with the expected result
- Verifying the API behavior under conditions such as connection to files and so on.
15. What are tools could be used for API testing?
There are many different API testing tools available. A few of common tools are Katalon Studio, Postman, SoapUi Pro, Apigee, etc. While doing Unit and API testing, both targets source code.
16. 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, which could be answered in your API testing interview, such as:
- API blueprint
- Web service API specification
17. When writing API document, what must be considered?
- Source of the content
- Document plan or sketch
- Delivery layout
- Information needed for every function in the document
- Automatic document creation programs
18. How often are the APIs changed and, more importantly, deprecated?
APIs, especially modern RESTful APIs, are a nice creation that can certainly simplify and accelerate integration efforts, which makes it more likely you will benefit from them. But APIs can and do change for various reasons, sometimes abruptly, and hence REST APIs do not differ from traditional integration methods in this respect. If an API call is obsolete and disappears, your procedure will interrupt and it is important to understand how often the APIs you depend on change or are deprecated.