There are good and bad ways of doing this. Via BDC in production is certainly on the bad side of the spectrum...
A better idea is to create delta roles for each error in test systems and have logic in between which helps the program decide whether this is a good idea or a bad one to fix. That way you can test roles without interruptions.
That is (amongst other things) how SAP Note 1682316 goes about testing roles.
Cheers,
Julius