Unit Testing, Agile Development, Leadership & .NET - By Roy Osherove
Ads Via DevMavens
Here’s what you can find on the latest typemock racer build. I think it’s pretty cool.
Cool. Does the Visualizer use a standard threading diagramming notation?
peter: not at the moment.
got good links for examples?
I don't know what/if there are any industry standards. UML Sequence diagrams come to mind as a recent standard. It seems a little convoluted for showing the current synchronization state. It could have swim lanes for the two threads and another lane for the locked objects; but that seems a little obtuse.
A UML state diagram seems a little better, simply showing the current state; with a "waiting on object x" state shared between two threads to signify a deadlock. I suppose that assumes you show a fork to delineate the threads, but you could simply show x arrows as threads coming from the top... It would certainly offer a notation for spawning and joining threads...
Oh, no, that would never work. The gradient is all wrong, and those arrows are like so 90's.
Seriously though: this is mega-cool, and could really become a revolutionary new must-have item in the modern programmer's toolbox.
The challenge now is to make the diagrams clear and understandable when the racing scenarios get more complex - maybe even interactive so you can dive in for details like method names etc.
Also, do you have any easy way to get a visualization of a racing scenario whenever Racer finds it, or does one have to re-run the test with the "try this permutation first" attribute and then visualize?
avish:
when a deadlock or other problem is found in a test, the visualization image of the thread state is saved and shown as a clickable link in the output window so you don't have to re-run the see the visualization.
Making it interactive is the direction, I agree. it also need to be much nicer looking and understandable.
since we do incremental work, this should get better and better on the nightly builds and in the stable (bi-weekly) builds. both build types are available on the site and I want more feedback like yours.
sorry.. was there a vid.. was busy rocking out to the background music. kidding. its very interesting.