30 Days of API Testing - Day 1: Define API testing


(Dave) #24

So many good contributions here already! I blogged my thoughts here


(James) #25

Really well said Luke! I dont know if I could really expand on anything thats been said.


(Luke) #26

Absolutely great point, validate business rules and logics on the API level not rely on the GUI


(James) #27

I’ve never met a machine that asks why? One of the best questions we can ask in order to increase our understanding and improve quality


(Jeanne) #28

API Testing is to test a set of commands that allow the creation of applications which access the features or data of a service. I am new to this 30 day concept. Have been a tester for many many years and too shy to contribute in the community before now.


(Dmytro) #29

API testing is a way of checking interaction between different services which can use REST or SOAP architecture. Verification of functionality of services (format of response server returned), performance (how many requests server can handle and timing of responses), security (how access is limited using different authorization techniques).


(Conor) #30

Hey,

Done quiet a bit of API testing over the years and thought this might be fun.

So the definition of API testing that I liked was from SmartBear.
“API testing is testing that APIs and the integrations they enable work in the most optimal manner. This form of testing concentrates on using software to make API calls in order to receive an output before observing and logging the system’s response”

Also it defines a three layer architecture and where the API resides
"

  1. Data Tier: Where data is retrieved from the database and file system and then stored.
  2. Logic Tier: The brain of the application, this processes the data between the layers, coordinating the application, processing commands, and making logical decisions. This layer is made of the API.
  3. Presentation Tier: This top layer of the app is the user interface, which translates tasks into something the user understands
    "

(Helena) #31

I recently started studying software testing and I am getting more familiar with what an API actually is! Because of this my answer is short and sweet: API testing is making sure every request is getting a proper respons. Hoping to learn more throughout November and I will also read comments and blogs linked here.


(Linda) #32

A couple of questions.
#1, I know what an API is. What I’m looking for is “if you were explaining how to test an API to a 6 year old, how would you do that” (I am the 6 year old).
#2. Is anyone testing APIs with a native mobile app? how do you do this?

Appreciate any and all feedback!


(Jimmy) #33

API Testing from what I can tell means the following:

1) Inform - Investigating a product can lead to behavioral discovery of the application and relay the results of said investigation to stakeholders. This can lead to a more efficient conversation of risk mitigating and ensuring the information we relay to our Customer, in any consumable form, is reliable.
2) Build - Low-level construction of a workflow is key to understanding the application we're testing on. Constructing subsets of a complete workflow can be rearranged and analyzed for comprehension.
3) Learn - Gathering Customer interactions with the product, through either defects or meaningful conversations, can lead to better coverage and risk assessment on areas of probabilistic impairment.

Create - By creating and archiving artifacts, you create value into justifying empirical evidence of an application’s behavior. Over time, these artifacts may be used for prescribed actions or heuristics to determine an area of investigation of an application’s defects.


(Felipe) #34

That’s going to be the goal of Day 5 :slight_smile: Heather has started the thread here and there’s a link to a dojo article with some examples of public APIs


(Elizabeth ) #35

While searching for definitions for API testing and more information about the topic I found am article I really liked by Kataion.com,

API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. Since APIs lack a GUI, API testing is performed at the message layer and can validate application logic very quickly and effectively.

From https://docs.katalon.com/katalon-studio/tutorials/introduction_api_testing.html


(David) #36

I’m going to steal guru99.com’s explanation since it is clear and has a nice visual:

Api Testing is entirely different from GUI Testing and mainly concentrates on the business logic layer of the software architecture. This testing won’t concentrate on the look and feel of an application.

Instead of using standard user inputs(keyboard) and outputs, in Api Testing, you use software to send calls to the API, get output, and note down the system’s response.

Api Testing requires an application to interact with API. In order to test an API, you will need to

  • Use Testing Tool to drive the API
  • Write your own code to test the API

image


(Suzi Ocello) #37

I too like the definition 'testerawesome" included:
API testing involves testing the application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security.


(Anna) #38

I am not new to API testing and quite familiar with it´s general idea, though I would like to build up a more extensive knowledge base for myself.

Define API Testing

Api Testing is entirely different from GUI Testing and mainly concentrates on the business logic layer of the software architecture. This testing won’t concentrate on the look and feel of an application.

Instead of using standard user inputs(keyboard) and outputs, in Api Testing, you use software to send calls to the API, get output, and note down the system’s response.

Api Testing requires an application to interact with API. In order to test an API, you will need to

  1. Use Testing Tools to drive the API
  2. Write your own code to test the API

Source
https://www.guru99.com/api-testing.html


(Deepa) #39

@sjwatsonuk, here’s one site for API you can use. Hope it helps!

Ref: From chapter related to REST API testing in the course ‘Technical Web Testing 101’ by Alan Richardson

Happy learning! :+1:


(Nagesh) #40

Hi,

Api testing in my words:

Making API calls using software and observing system response after receiving output.

Testing includes interaction between multiple API’s as well as the interaction between API and application program.

Different types of output observed of an API:

Returning the result status values as ‘Pass’ or ‘Fail’.

Result as data or any specific information.

An event where the call to any API function will initiate the call to another API function.


(Helen) #41

I am very new to API Testing but want to know much more, since I am QA Tester for more than 5 years particularly in Desktop applications which are built based on eclipse. Since I am also new to web application testings , I have to study hard I think :slight_smile: . So googling the web I found this regarding the definition of API Testing:
API Testing

is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security.[1] Since APIs lack a GUI, API testing is performed at the message layer.[

Source : https://en.wikipedia.org/wiki/API_testing


(Heather) #42

I’ve found some replies on Twitter too:


(Acsah) #43

What is an API?

Application Programming Interface which helps in Interaction between two softwares/systems.

In Layman terms, we can take Language as an example of API.If two people want to communicate with each other, both of them need to know a common Language. This Language acts as an interface of communication between two people.

What is API Testing?

API Testing is a set of processes aimed at finding the deviations or conflicts in an API from its expected Behaviour.

If any error in API is missed, it can take the whole application down. Hence, it is very important to test each API individually and as a part of integration testing to check the functionality, reliability, performance, and security of an application.