Usability testing can done at any stage of design. Earlier the better. More frequent the better.
So this is how it is generally done:
Early Prototype testing: This is done with wireframes to understand user’s mental model and whether the conceptual or design model in the product or solution matches their mental model. This can be done with a sketch or lowfidelity prototype or with High Fidelity mock up that has both interaction & visual treatment (if you are not very sure how the users will feel about the visual design as well.)
Usability testing – a Summative Usability testing: This helps to understand whether 1. the product really solves the issue faced by the user. 2. Compare the performance of the product against usability matrices or KPIs such as speed of task completion, efficiency, accuracy, conversion, lead generation etc.
Without testing when a product goes to the market, there is no certainty that the product will be accepted by the market/Users. This can lead to bad UX, bad mouthing about the brand/product and expensive redesign and unnecessary code changes and revisions. By then a competitor might come up with a better product and the users will start using it happily. They may not even think of coming back to experiment the untested product again.