icrosoft's Platform Tests help ensure that the many and varied applications available for Windows give users a consistent experience, and avoid application and operating system conflicts. The tests verify basic application stability, check for memory and other leaks, ensure that your application does not affect Windows stability, and ensure that your application works with operating system features such as fast user switching and running as a user with limited security permissions. The platform test is not a technology-agnostic testit is specifically targeted at applications written in .NET for Windows platforms.
Customers have come to expect that Windows applications follow the "rules." For example, modern Windows applications should install to C:\Program Files
by default, should not replace system files, and must not interfere with other applications or the operating system. To complicate matters for developers, the rules have changed over time as new Windows versions have appeared (remember when installing DLLs to C:\Windows\System32 was not only allowed, but recommended?) The best way to ensure your applications adhere to the current set of rules is to use the Microsoft Platform tests, which encapsulate a minimum baseline of modern operating system support.
The primary reason given by Microsoft for completing the Platform tests is that they are one way to qualify for the Microsoft Certified Partner program if your organization is an independent software vendor (ISV). If your application passes five of the tests, your organization gets 50 "partner points," and qualifies for the "Certified Partner" program. VeriTest runs the "certified" Microsoft Platform tests. You can enroll for those tests online at http://www.VeriTest.com/certification/ms/platformtest.asp.
But qualifying for the Microsoft partner program is not the only reason you should consider the platform teststhe tests help you to both verify and demonstrate to your customers that your software executes correctly and is robust and stable on Windows operating systems. Even if you choose to perform the tests in-house instead of getting VeriTest to perform and certify the tests, it's well worth the effort to study the test specification and ensure that your application meets the requirements.
Using an externally-prepared test plan saves you the time, cost, and effort of preparing your own test plan, and leverages the knowledge and experience of the team at Microsoft who prepared them. Finally, it's important to perform tests such as verifying that your application works with fast user switching in Windows XP, or that it operates successfully when you are logged in as a user with restricted rights. Too often, we developers assume that our applications work in a variety of environments without actually putting them to the test. Making sure your applications pass the tests will reduce support requirements and improve customer satisfaction.