First Looks

DevPartner Fault Simulator: Ease Testing

Contributing Editor Don Kiely reviews Compuware's DevPartner Fault Simulator version 1.5, plus tools for AJAX.

One of the hardest things about developing software is to test it thoroughly. This is especially true when simulating problems that require hardware, software, registry, or other changes. Making such a change to test software can affect the test or make a system unstable.

Compuware's Fault Simulator 1.5 helps out by simulating problems your software might encounter, without requiring that you change the environment. For example, say that you need to test whether the app performs correctly when trying to open a file that the user doesn't have permissions for—you could remove the permissions from the file in Windows and hopefully remember to undo the change when done testing. Or you could use DevPartner Fault Simulator from Compuware to simulate the problem, making for a repeatable test that doesn't affect the environment.

You can use the product to test for problems such as failed calls to COM objects, disk I/O problems (including permissions problems), memory issues such as low memory notifications, and network problems.

Fault Simulator includes three interface tools to simulate faults. The product is integrated closely with Visual Studio to help test and debug error handlers in managed code, as well as environmental faults in running applications for white-box testing. A standalone app lets you configure new environmental faults or modify existing .NET Framework faults defined using the Visual Studio IDE for black-box testing on a program executable. And, a command-line interface lets you run scripts on projects that don't require user interaction such as automating regression testing (see Figure 1).

You run the app after you define the faults you want to simulate using any of the three interfaces. Fault Simulator compiles the results and describes how your app handled the various problems. It provides information for the faults, broken down by call stack, properties, and error-handler data. Getting test results this way is far easier than employing the more tedious process of setting up environmental conditions, so .NET code exceptions will fire in a natural setting. You can also use the product with the company's Code Coverage tool to make sure that you're testing every line of code in the app.

Fault Simulator includes a 60-page Getting Started manual that gives a decent overview of the product. Other documentation includes MSDN-integrated help, as well as standalone online help for the command line and standalone interfaces. A few sample projects that showed how to define faults and run the results would be helpful to speed up the learning curve.

At $6,000, Fault Simulator is clearly targeted at the upper-end corporate developer. But these are powerful tools that just might save at least that much in labor costs the first try to find a nasty bug.

DevPartner Fault Simulator version 1.5
Compuware
Web:
www.compuware.com
Phone: 800.521.9353
Price: $6,000.00 per concurrent user
Quick Facts: Tools to simulate problems with custom apps.
Pros: Closely integrated with .NET managed code and Visual Studio, simplifies testing of complex problem scenarios, includes a clean and intuitive user interface.
Cons: Priced for upper-end corporate market only.


Build Ajax-Enabled Applications
by Aaron Weule

The telerik r.a.d. controls suite is a comprehensive toolset for professional ASP.NET developers. Version Q5 adds improved Ajax support across the entire suite, as well as native support for Visual Studio 2005/.NET Framework 2.0.

The suite is comprised of 18 controls that range from data-driven UI components such as r.a.d. menu and panelbar, to user-input controls such as r.a.d. input and the r.a.d. editor WYSIWYG XHTML editor. In addition, the telerik r.a.d. suite has recently been extended to include grid, charting, and calendar controls, as well as a window-management control that you can use as a replacement for the familiar javascript.alert() function. The suite is extensive, and coverage can be complex (see Figure 1).

The suite boasts extensive browser support. Its controls are also XHTML 1.1 compliant and supports varying levels of Section 508/W3C—although, unfortunately, r.a.d. designer and r.a.d. dock controls are not included in this support.

Also, the r.a.d. callback control functions as a simple Ajax wrapper for ASP.NET.

Elsewhere, the suite implements Ajax functionality directly through a variety of control-specific methods. For example, the r.a.d. treeview control implements a ClientCallBack property value for retrieving load-on-demand nodes. Therefore, implementing an Ajax-enabled treeview is as simple as setting the property and handling the NodeClicked event.

Initial installation is simple and straightforward. The suite uses an MSI-based executable that installs the required assemblies into the Visual Studio Toolbox automatically. It also installs the samples into a virtual directory in the local machine's default IIS site. (Note that you can find these samples on telerik's Web site, as well. However, experienced developers and those upgrading from previous versions should opt for the manual method that uses the alternate zip download.)

Integrating the controls into your site can be daunting, depending on your situation. Each control uses a separate assembly and client-side files that you must first reference in your application. Considering the fact there are 18 controls—managing assembly references and client paths, in addition to any themes, can be quite challenging. Despite this separation, the assemblies maintain a consistent and well-thought-out class hierarchy that ensures common functions behave consistently across the entire suite.

Developers who use Visual Studio 2005 will be happy to find a mirrored version of the assemblies compiled natively to the .NET Framework 2.0 specification in the telerik r.a.d. suite. The mirrored versions make extensive use of .NET 2.0 themes, which simplify the management of control templates. The mirrored versions also add support for Visual Web Developer 2005 and ASP.NET's Masterpage and Navigation frameworks.

Whether you're building complex, data-driven applications or simple sites with complex UI's, telerik's Web suite is sure to include at least one control that will simplify and extend your development possibilities.

telerik
telerik r.a.d. controls suite
Web:
www.telerik.com
Phone: 888-365-ASPX; 617-249-2116
Price $799 per developer
Quick Facts A comprehensive set of ready to use components for building professional ASP.NET applications with feature rich, standards compliant, cross browser compatible components.
Pros Ready-to-use site components that can easily be modified using CSS themes. Extensive support for all Visual Studio/.Net Framework versions.
Cons Complex integration; weighted client-side model.

About the Author

Don Kiely is a senior technology consultant in Fairbanks, Alaska. When he isn't writing software, he's writing about it, speaking about it at conferences, and training developers in it. Reach him at [email protected].

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube