In this paper we study properties and invariants of matrix codes endowed with the rank metric, and relate them to the covering radius. We introduce new tools for the analysis of rank-metric codes, such as puncturing and shortening constructions. We give upper bounds on the covering radius of a code by applying different combinatorial methods. We apply the various bounds to the classes of maximal rank distance and quasi maximal rank distance codes.