background image
<< Client/Server - The kinds of network testing you can perform | Client/Server - Functional testing >>
Client/Server - The kinds of network testing you can perform
<< Client/Server - The kinds of network testing you can perform | Client/Server - Functional testing >>
340
User's Guide
19 I
NTRODUCTION
TO
C
LIENT
/S
ERVER
T
ESTING
The kinds of network testing you can perform
The ordering of this list conforms to the incremental functional testing
methodology supported by SilkTest. Each stage of testing depends for its
effectiveness on the successful completion of the previous stage. Functional,
configuration, and concurrency testing are variations of regression testing,
which is a prerequisite for any type of load testing. These three plus stress
testing verify that the application functions properly apart from any stresses
exerted by a heavy multi-user load. Thus the testing stages progress in terms
of complexity of testing and numbers of testbed machines.
You can perform functional testing with a single client machine. You can
perform the first four types of test with a testbed containing only two clients.
The last two testing types require a heavy multi-user load and so need a larger
testbed.
Functional testing
Before you test the multi-user aspects of a client/server application, you
should verify the functional operation of a single instance of the application.
This is the same kind of testing that you would do for a non-distributed
application.
Once you have written scripts to test all the operations of the application as it
runs on one platform, you can modify the scripts as needed for all other
platforms on which the application runs. Testing multiple platforms thus
becomes almost trivial. Moreover, many of the tests you script for functional
testing can become the basis of your other types of testing. For example, you
can easily modify the functional tests (or a subset of them) to use in load
testing.
Configuration testing
A client/server application typically runs on multiple different platforms and
utilizes a server that runs on one or more different platforms. A complete
testing program needs to verify that every possible client platform can
operate with every possible server platform. This implies the following
combinations of tests:
·
Test the client application and the server application when they are
running on the same machine--if that is a valid operational mode for the
application. This testing must be repeated for each platform that can
execute in that mode.
·
Test with the client and server on separate machines. This testing should
be repeated for all different platform combinations of server and client.
Concurrency testing
Test two clients using the same server. This is a variation of functional testing
that verifies that the server can properly handle simultaneous requests from
two clients. The simplest form of concurrency testing just verifies that two
clients can make multiple non-conflicting server requests during the same
period of time. This is a very basic sanity test for a client/server application.