Concurrency Testing

Concurrency testing tests 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 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.

To test for problems with concurrent access to the same database record, you need to write specific scripts that synchronize two clients to make requests of the same records in your server’s databases at the same time. Your goal is to encounter faulty read/write locks, software deadlocks, or other concurrency problems.

Once the application passes the functional tests, you can test the boundary conditions that might be reached by large numbers of transactions.