What is API Test? Are there any special testing techniques applied for?

You might know API test for web service (REST, SOAP), but it’s just a type of API test. This article will tell you more information about API, types of API and API test.

What is API?

API stands for Application Programming Interface. API provides the interface or protocol to communicate between 2 modules or layers. It is a collection of methods for developing applications.

An API could be considered as a black box for developers using it. Thus, developers do not care about what occurs inside an API. They just care about what they should provide for API and what API response the result.

The information for an API is input parameters, and the response is output.

API could be applied for operating system, database, software library, hardware functions, and web applications.

There are some typical types of API familiar for testers, like:

  • Web service
  • Java API (library/dependency)

What is API test? Are there any special testing techniques applied?

An API is like a black box, so API test is to verify the output which is returned after passing input parameters to API. Tester plays the role as developer to use it and even more verify its working.

Testing techniques for API test are generally not much different compared with functional test. We still using basic techniques, such as:

  • Boundary values.
  • Equivalent partition.
  • Decision tables.
  • State transitions.

The special thing in API test is how to use and implement those techniques. Because API test is not GUI test, we should use properly tools and sometimes tester must writing code or script for testing.

An API is itself a completed unit of software applications, so API test could be a part of Unit testing. However, API test is only executed after the build or deployment ready.

For agile development, API test takes effects faster and more stable than GUI functional test. It is usually executed automatiically right after a build version ready. However, the costs and speed for implement the test cases (using tools or writing code) are concerned that need to be balance with application release plan.

Summary, API is the term of not only web service, software application but also hardware functions. API testing techniques are not separated with usual functional testing techniques, because one of the main purpose of API test is for checking function work well. The others approaches of API test could be to measure performance, security of API.

Reference:

https://www.vectorcast.com/testing-solutions/api-testing

Java Introduction and Installation

Applications

Java is a well-known programming language. There are so many applications created by using it.
– Web application
– Mobile application
– Desktop application
– Games
– Database connection
– Much more

Properties

  • Java is an independent platform language. It means that the application created by using Java can be run on any platform (Windows, Mac, Linux) thanks to Java Virtual Machine (JVM).
  • Object-Oriented Programming language. It is a based paradigm that Java supports. Every element in Java are objects, except primitive data types.
  • Interpreted and compiled code. The source code is written in .java files, then they are compiled into bytecode format in .class files. At run time, JVM reads the bytecode instructions and interpret to the native hardware platform which JVM was written.
  • Self memory management: Java allocates and de-allocate objects in memory automatically. JVM will delete the objects which do not have active pointer exists, it’s called Garbage Collector.

Installation

To run Java programs, you must have either Java Runtime Environment (JRE) or Java Development Kit (JDK). JDK contains everything JRE has and much more tools such as the compilers and debuggers necessary for developing applets and applications. Thus, it is recommended that you should install JDK for playing more with Java.

enter image description here

For JDK, there are some options that you can choose to develop various types of applications, such as Java Platform, Standard Edition, Enterprise Edition.

For the next articles, I would suggest to use basically JDK Standard Edition (SE) version 8, even the latest version is 12.

You can find the installation files for your OS in here.

If you got any trouble in installation, please leave your comment below. I would be happy to help you.

Next article, we will start creating a simple java application and more details about parts of a program.