Minor changes are by default collapsed in the page history.
No changes
The page does not exist yet.
Failed to load changes
Version by on
Leave Collaboration
Are you sure you want to leave the realtime collaboration and continue editing alone? The changes you save while editing alone will lead to merge conflicts with the changes auto-saved by the realtime editing session.
Testing for concurrency is very difficult, which is why concurrency should be avoided in the first place.
In general, this requires a lot of iteration, which makes it resource-intensive.
The result is architecture dependent (OS, hardware), which introduces randomness and makes error detection unreliable.
Solution Approaches
Monte Carlo Testing: Write flexible, adaptive tests that can be executed with a variety of test settings, such as the number of threads used, types of operations, order of operations, and so on. Run these tests repeatedly on a test server, randomly varying the test settings. If something fails, then there is a problem with the code, and the settings used should be logged.
Do Monte Carlo Testing early to gain tests ASAP for your test repertoire or CI server. Run tests on each platform over time to either confirm the correctness of the production code or to uncover bugs in the test code.
Run the tests on a single machine, simulating application loads whenever possible.
There are tools for testing concurrent code, such as ConTest.