In Client-server testing there are several clients communicating with the server.
- Multiple users can access the system at a time and they can communicate with the
server.
- Configuration of client is known to the server with certainty.
- Client and server are connected by real connection.
- Testing approaches of client server system:
- Component Testing: One need to define the approach and test plan for testing client
and server individually. When server is tested there is need of a client simulator,
whereas testing client a server simulator, and to test network both simulators are used
at a time.
- Integration testing: After successful testing of server, client and network, they are
brought together to form system testing.
- Performance testing: System performance is tested when number of clients is
communicating with server at a time. Volume testing and stress testing may be used
for testing, to test under maximum load as well as normal load expected. Various
interactions may be used for stress testing.
- Concurrency Testing: It is very important testing for client-server architecture. It may
be possible that multiple users may be accessing same record at a time, and
concurrency testing is required to understand the behavior of a system in this situation.
- Disaster Recovery Business continuity testing: When the client server are
communicating with each other , there exit a possibility of breaking of the
communication due to various reasons or failure of either client or server or link
connecting them. The requirement specifications must describe the possible
expectations in case of any failure.
- Testing for extended periods: In case of client server applications generally server is
never shutdown unless there is some agreed Service Level Agreement (SLA) where
server may be shut down for maintenance. It may be expected that server is running
24X7 for extended period. One needs to conduct testing over an extended period to
understand if service level of network and server deteriorates over time due to some
reasons like memory leakage.
- Compatibility Testing: Client server may be put in different environments when the
users are using them in production. Servers may be in different hardware, software, or
operating system environment than the recommended. Other testing such as security
testing and compliance testing may be involved if needed, as per testing and type of
system.