Test coverage is the rate of code in SUT that is exercised for any of their tests. Test coverage is very useful to finding untested parts of our SUT. Therefore, it can be the perfect white box technique (structural) to complement the black box (functional). As a general rule, a test coverage rate of 80% or above is considered reasonable.
There are different Java libraries, which allows to make test coverage in a simple manner, for instance: