Besides having great design and great execution in coding the features of an app, one of the other most important aspects is good testing. Indeed, if you look at Microsoft's own engineering structure, it's composed of the 'triad' of Program Management (handling requirements and design), Development (handling implementation), and Testing (handling quality assurance, performance, and functional proof). Be that as it may, the available resources for developing Windows Store apps are plentiful on the first two but somewhat lacking on the latter. So with this post I want to start providing some tips to functional testing in particular, and I'll also be providing some resources for performance work along the way.
For the first tip, I'll mention something that should be obvious but can be easily overlooked: when testing your app, be sure to try it on fresh machines where you've just installed Windows anew (or at least a virtual machine). And I do mean "machines," not just one: you should always test on a variety of hardware to see how your app performs. (And no, this doesn't mean you have to buy all kinds of stuff yourself: check out the Windows App Labs.)
The core reason for this is that installing on a fresh machine is exactly what the Windows Store certification testers will be doing (on a virtual machine), and what your customers will be doing as well. It means that there won't be anything whatsoever related to your app already on that machine, such a caches or existing state.
We encountered this with one of our early app partners in 2012, leading up the Windows 8 Consumer Preview. The developer working on this app (there was just one, and no testers!) saw everything running beautifully, so he submitted the app for certification. It failed because the home page came up entirely blank. It did that for me as well. The reason: on the developer's machine he had already cached the home screen's contents, so it was showing up fine, and he'd neglected to test on a fresh machine.
It was a simple fix, but the oversight caused a painful delay in certification.