Legacy application – Refactoring or reengineering? (VI)

We want to write characterization tests on our Legacy C application, with the goal of transferring the knowledge to another team, or during an outsourcing.

What should be the scope of this ‘characterization’? When can we consider that our test coverage is sufficient? Is it possible to quantify the effort it represents?