Performance and Other Testing ToolsWindows Application VerifierWindows Application Verifier (AppVerifier) is a great tool if you are targeting the Windows platform. AppVerifier comes with the freely available Application Compatibility Toolkit (http://www.microsoft.com/windows/appcompatibility/toolkit.mspx) from Microsoft. If you are creating shrink-wrapped applications and desire to have Windows Logo Certification, this tool will save you countless time and money. Even if you are just creating an application that is distributed in a highly controlled environment, AppVerifier can check your program for common coding mistakes including memory and security problems. Table 6.5 shows the eleven AppVerifier tests that can be run on your application.
Figure 6-4 shows AppVerifier running on a simple picture resizing program I wrote. Figure 6-4. Windows Application Verifier Verifying a Simple Program.Even this simple C# program has a number of issues to resolve, although it runs flawlessly on every machine on which it is installed. Imagine what a more complex large application would look like! nProf and nProfilernProf (http://nprof.sf.net) is an Open Source .NET profiler that can be helpful in exposing the bottlenecks in your code. Figure 6-5 shows the tool's user interface. Figure 6-5. nProf of a Simple Picture Resizing Program.nProfiler (http://nprofiler.sf.net) is another Open Source .NET profiler that, as you can see from Figure 6-6, is not as feature-rich as nProf but that is still very useful because it profiles slightly differently than nProf. Figure 6-6. nProfiler User Interface.FxCopChapter 4 explored integrating FxCop with the build process using NAnt. FxCop checks the .NET assembly for correctness, CLS compliance, and a number of other common design mistakes. HTML ToolsChapter 4 suggested using with NAnt can also save a lot of time and money in Web development. |