We have already organized the JGroups test suite accordingly, e.g. 'functional tests' which don't require a stack are run only once.
We're also looking at using either testng or junit 4 for JGroups 2.6. Obe benefit for example is that, for each test class, you need to create a channel and connect to the group only *once*, which slashes the duration of a test run too.
Another thing that would help is being able to specify in jboss-web.xml what cache to use. Right now it's fixed.
This would eliminate the need to stop and restart the servers in order to test REPL-SYNC, FIELD, non-default BuddyReplication, etc. All these variations are really variations on the cache config. Rather, the test would deploy an appropriate cache into the standard server configs and the test wars would use it.
At this point a stop and restart of the 2 cluster nodes is roughly a 5 min process. That should drop as AS 5 gets more polished, but eliminating all the restarts will save a lot of time.
The above is further down the road though. Should be done as part of an overall solution to intelligent webapp cache deployment, one that includes the ability to deploy the cache as an intrinsic part of the webapp deployment.