http://delivery.acm.org/10.1145/1070000/1062590/p656-saff.pdf?key1=1062590&key2=2045014611&coll=GUIDE&dl=GUIDE&CFID=6692192&CFTOKEN=23556636 Test factoring can use structural properties inferred from static analysis on the code base and tests, and dynamic information obtained by running an instrumented version of the original test. The Introduce Mock procedure can be outline..