Hi Florin,
I've been using ABAP Unit and test reports for years, can't emphasise enough how much time it saves in the long run. Doesn't take long to wrap a sample PO or whatever into a BAPI_...CREATE and stick it into a report and you have the beginnings of a test framework.
Local test classes for WF require some more elaborate constructs due to the DB-dependent nature of most WF classes. If I find time (yeah right), I might write something more about it.
I agree with you regarding design. Personally I prefer to define classes as CREATE PRIVATE unless otherwise required, for pretty much the same reasons.
Regards,
Mike