Microsoft Research have finally released Pex. “Pex (Program EXploration) is an intelligent assistant to the programmer. From a parameterized unit test, it automatically produces a traditional unit test suite with high code coverage. In addition, it suggests to the programmer how to fix the bugs.”

Look for a more detailed post on using Pex shortly, and yes, it will involve triangles. :-)

I use a GPS when I go sailing to record and analyse my performance. It’s a cheap as chips Garmin eTrex, and to download the tracks I use the GPS Track Download application created by Microsoft research for the World Wide Media exchange project.

I recently reinstalled Vista on my new machine and trying to down load the GPS track-log, the application kept crashing. To solve this problem I turned to process monitor. Process monitor replaced file monitor and quickly showed that the app tries to download to a default, hard coded directory c:\My Documents that didn’t exist then boom, no error was shown and the application crashed. A classic Severity 1 issue.

To stop the application crashing you simply need to create this directory, but it also shows that when writing an application you should never hard-code file paths. The application should have prompted if it’s default directory was not found and ask for the user to specify one.

To complement white there is another UI Automation library on codeplex. The UIA Verify framework has been developed by the UI automation team. This library is used to ensure that your application or control correctly implements the UI automation providers that can then be used by projects like white.

To quote the project page on codeplex.

UI Automation Verify (UIA Verify) Test Automation Framework

UIA Verify is a test automation framework that features the User Interface Automation Test Library (UIA Test Library) and Visual UI Automation Verify (Visual UIA Verify), the graphical user interface tool. The framework facilitates manual and automated testing of the Microsoft (R) User Interface (UI) Automation Provider implementation of a control or application. The majority of the UIA Verify functionality is provided through a dynamic link library (e.g., UIATestLibrary.dll) that contains the code for testing specific UI Automation functionality and supports logging of the test results.

With the Visual UIA Verify, you can quickly find and select any UI element anywhere on the desktop. Based on the specific control type and the supported control patterns, UIA Verify provides the built-in test scenarios prioritized for the particular UI element. Developers can add additional test scenarios by adding the code to the UIA Test Library. The tool can output the test results or the summary in various forms. Visual UIA Verify can output test details in HTML

My ADSL line kept dropping out when plugged in to the phone socket in the back room. I climbed under the house to see what was going on and then I discovered this …

PhoneLines.gif

Now that mess has been removed, things are much better !