Surface Stress Tool

The Microsoft Surface Stress tool enables you to test the stability and robustness of your Surface application by delivering multiple, simultaneous contacts to your application in a random way. Surface Stress generates all three types of touch input: fingers, blobs, and tags.

Surface Stress is included with Surface SDK. By default, the Surface Stress executable file (SurfaceStress.exe) is located in the C:\Program Files\Microsoft SDKs\Surface\v2.0\Tools\SurfaceStress folder, and a shortcut to Surface Stress appears in the Start menu under Tools in the Microsoft Surface 2.0 SDK entry.

Running Surface Stress

Surface Stress is a command-line application that you can run in two modes:

  • Random mode delivers all types of touch input to your application, with characteristics that randomly vary. For more information, see Running Surface Stress in Random Mode.

  • Parameterized mode enables you to specify characteristics of stress so you can more precisely control how the stress is performed. For example, you can specify a configuration file. There are sample configuration files in the C:\Program Files\Microsoft SDKs\Surface\v2.0\Tools\SampleConfigs folder. For more information, see Running Surface Stress in Parameterized Mode.

When Surface Stress runs, it delivers touch input to the display screen that is mapped to Input Simulator. Make sure your application is displayed on that screen. To change which display screen is mapped to Input Simulator, use the procedure in Change Which Monitor Accepts Simulated Input.

Both the Input Simulator and Surface Stress tools use the virtual digitizer device. However, they cannot share the device, so these two applications cannot be used at the same time. Usually, the device is enabled only while one of these applications is running. There may be situations when the virtual digitizer device may remain enabled, for instance, if the Input Simulator process is ended manually. In this case, the easiest way to disable the virtual digitizer device is to restart one of these tools and close it again.

Debugging Stress Failures

When you run Surface Stress, it checks for the presence of an Auto-Execute (AE) debugger and a .NET Just-In-Time (JIT) debugger. If one of these debuggers is missing, Surface Stress displays a warning. Surface Stress requires an AE debugger to diagnose stress failures that occur in native code and it requires a JIT debugger to diagnose stress failures that occur in managed code.

For more information about how to debug applications, see the following articles on the MSDN Web site:

Re-Creating the Stress Run

Every time that you run Surface Stress, it creates a configuration file that specifies the parameters of the stress run. You can use parameterized mode to run stress again at another time with the same parameters. The file is created with a unique name in your user profile folder; the exact file name is displayed when you run Surface Stress.

Did you find this information useful? Please send us your suggestions and comments.

© Microsoft Corporation. All rights reserved.