Not an answer to how much testing, but on what tests are available...
You might want to check out the reftype() and blessed() subs from Scalar::Util (core module as of 5.8)
They're designed to cleanly split the kludgy dual nature of ref() into two separate tests.