jeudi 6 juillet 2017

Collaboration in web application - concurrency testing and assert the (eventual) consistency?

Is there a testing framework or solution to test and assert collaboration on shared data in a webapplication?

The client-side mainly focus on changing the structure of a large collection of ordered objects. Basic operations like insert, delete and reordering the structure. To prevent stale data, operations from other users are synchronized with bi-directional communication.

This collection can be edited by two or more users concurrently. All edits are pessimistic in such a way that the server determines the right outcome to prevent conflicts. The server transforms two concurrent operations (from the same state) and broadcast the changes.

Unit testing the transformation on the server works just fine. But is there a solution to create some sort of automated test that covers the complete flow with two concurrent users? Like simulating that two clients sending a concurrent operation and assert that the result on both clients will be eventual consistent - after applying both changes?

Or is the only solution to write tests for the server and the client fully isolated from each other, without any 'real' collaboration testing?

Aucun commentaire:

Enregistrer un commentaire