Compuware targets untested code
DevPartner Fault Simulator 1.0 shows promise but has several faults of its own
In addition to this lack of data integration, DPFS isn't operationally integrated with the rest of the DevPartner line. DPFS cannot run when any other DevPartner tool is running. And because these tools rely on Windows services, disabling and re-enabling them requires a tiresome sequence of steps. You quickly grow weary of it and simply choose to work with whatever tool is most important to you in that session.
A further problem is DPFS' claim to work with unmanaged Visual C++ code. It appears that "unmanaged Visual C++" means one thing to me but something different to Compuware. To me, it means C++ code compiled with Microsoft Visual C++ or Visual Studio .Net. This isn't the case with DPFS: It won't monitor straight-ahead C++ code unless the code employs Windows-style structured exception handling. So, ported code that relies on return codes to identify errors will realize no benefit from DPFS until the ported code is rewritten.
DPFS delivers the most value in a pure, managed-code .Net application (C# or VB.Net). The Visual Studio .Net plug-in recognizes code that can be tested by DPFS and highlights it with squiggly underlines. When you double-click one of these squiggly lines, a dialog box pops up, inviting you to enter specific parameters for the simulated fault, including a description line of your choosing.
The list of generated .Net faults is long, so you can easily re-create many types of problems (such as an unresponsive network or a mangled registry entry) without unplugging the test systems or dickering with registry settings.
This is the context in which DPFS is most useful, although I was frustrated by the lack of support for simulating faults with threads. Such faults are important to simulate for server applications, and increasingly important for desktop contexts, especially in light of the upcoming release of dual-core desktop processors.
Waiting for 2.0
Fault simulation is one of those great ideas that make you wonder why no one thought of it sooner. By that criterion, DPFS should be a great package. However, its poor integration with code-profiling tools, conflicts with other Compuware products, and poor support for unmanaged code undercut its value. It might seem unfair to complain about these problems in a 1.0 release, but in view of the $6,000-per-user price tag, it's reasonable to expect a well-designed, well-thought-out, and well-implemented product. DPFS is not that tool, yet.