I wouldn't say there's any tried an true "this is how you do it" approach. Good software engineering practices in general is really the best recommendation.
For instance, a practice we have here at Axeda (behind the scenes if you will) is to use a testing framework of your choosing: JUnit, Test NG, Spock, you name it and to have good automated tests in place which treat the Axeda Platform as a black box. This will require an investment on your part though to establish a testing infrastructure such as Jenkins or TravisCI, (there are a good number of them). Have a way of automatically creating, configuring and starting your agent(s). Use the existing automation tools we offer such as Artisan along with Custom Objects to perform server side validations or use our REST api to return client side validations. Possibly use UI testing frameworks such as Selenium or Load Runner to do any validations that are difficult to do otherwise.
In short I really doubt anyone can give you "the" answer. This is really too broad a field to narrow it down more than this and keep it succint but hopefully these terms will give you a start. There's no standards body out there with respect to testing IoT apps that I know of.
Hope this helps