views:

139

answers:

1

I've just recently started using unit testing, and I understand some of the main issues unit testing does not cover is concurrency and complex cross-object interactions (which most modern fully OOP lanugages completely eliminate anyhow.) it is my understanding that CHESS resolves the concurrency problem to some degree? could someone give me the skinny of what chess is, how it works, and what the drawbacks are?

+2  A: 

The basic idea is that race conditions (when the output depends on which of two or more processes "gets there first" for some definition of "there") have only a finite number of possible orderings.

Thus if you can control the orderings, you can test them systematically.

If your code works as expected for all possible orderings, it's passes. If not, it fails.

MarkusQ
makes total sense, but this won't bring things like cross object deadlock to light is that correct?
Firoso
It will if they depend on ordering, sure. Why wouldn't it?
MarkusQ