Client/Server Software Testing

Overview

Testing the Client/Server systems or applications (Desktop or Webtop) is known as Client/Server software testing. Client/Server computing is a tiered architecture.

Client/Server System

The Client/Server computing model is a tiered architecture. In this model, there is a distribution of presentation services, application code, and data across clients and servers.  A Client/Server system has several layers, which can be visualized in either:

  • conceptual manner
  • physical manner

Viewed conceptually, the layers are as follows:

  • Presentation
  • Process
  • Database

Viewed physically, the layers are as follows:

  • Client
  • Server
  • Middleware
  • Network

The main types of Client/Server architectures are as follows:

  • 2-tiered architecture
  • modified 2-tiered architecture
  • 3-tiered architecture

Client/Server Software Testing

Client/Server testing consists of testing different components:

  • The client’s user interface
  • The client’s interface with the server
  • The server’s functionality
  • The network (the reliability and performance of the network)

 

Testing Client/Server software cannot be planned from the perspective of traditional software testing activities. In a Client/Server testing plan, specific considerations, such as different hardware and software platforms, network and database server performance issues, data replication and processes across networked servers, etc., need to be addressed.

The complexity of GUI (Graphic User Interface) testing is increased because of some characteristics of GUIs, for instance, its cross-platform nature, event-driven nature, etc.