Interface Testing Tutorial: Types, Strategy & Example

What is Interface Testing?

Interface Testing is the testing done on AUT which actually verifies whether the communication between two different software systems are done correctly.

A connection that integrates two components are called interface. This interface in a computer world could be anything like API's, web services, etc. Testing of these connecting services or interface is referred as Interface Testing.

Interface is actually software that consists of sets of commands, messages, and other attributes that enable communication between a device and a user.

Interface Testing include testing of two main segments:

  1. Web server and application server interface
  2. Application server and Database server interface.

For above mentioned scenarios, the interface testing is done to

  • Check servers are executed properly or not
  • Errors are handled properly or returns an error message for any query made by application
  • Check the outcomes when connection to web server is reset in between

Interface Testing Tutorial: Types, Strategy & Example

Example of Interface Testing:

Suppose for any xyz application, interface takes XML file as an input and delivers JSON file as an output. To test the interface of these application, all it requires is the specifications of XML file format and JSON file format.

With the help of these specifications, we can create a sample input XML files and feed into the interface. And then validating the input (XML) and output (JSON) file with the requirement is Interface testing.

Why to do Interface Testing

Interface Testing is done

  • To ensure that end-users or customer should not encounter any problem when using a particular software product
  • To identify which application areas are usually accessed by end-users and to check its user-friendliness as well.
  • To verify security requirements while communication propagates between the systems
  • To check if solution is capable to handle network failures between application server and website

Types of Interface Testing

During Interface Testing various types of testing done on interface which may include

  • Workflow: It ensures that the interface engine handles your standard workflows as expected.
  • Edge cases -unexpected values: This is considered when testing include date, month and day reversed.
  • Performance, load, and network testing: A high-volume interface may require more load testing than a low-volume interface, depending on the interface engine and connectivity infrastructure
  • Individual systems: This include testing each system individually. For example, billing system and inventory management system for retail store should be able to operate separately.

Interface Testing Strategy

To test an interface with common tests regardless of implementation, you can use an abstract test case, and then create concrete instances of the test case for each implementation of the interface.

  • The base or abstract test case performs the implementation-neutral tests
  • While the concrete tests take care of instantiating the object to test, and perform any implementation-specific tests.

Interface Testing Vs Integration Testing

Interface Testing

Integration Testing
  • An integration test type that is concerned with testing the interfaces between components or systems
  • Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.

Summary:

  • Interface testing is testing of connection that integrates two components of a system are called interface.
  • Interface Testing include testing of two main segments
    • Web server and application server interface
    • Application server and Database server interface.
  • This testing ensures that end-users or customer should not encounter any problem when using a particular software product.

 

Tutorial Index