Share via


Troubleshooting Device Fundamentals Reliability Testing by using the Windows HCK

This article describes how to troubleshoot problems that can occur during Windows Hardware Certification Kit (Windows HCK) Device Fundamentals Reliability testing. See Troubleshooting Windows HCK Test Failures.

Troubleshooting Device Fundamentals Reliability tests consists of the following primary steps:

  1. Check the device configuration

  2. Identify the type of test failures

  3. Triage test failures

The following sections provide additional detailed and important information that you can use to troubleshoot failed Device Fundamentals Reliability tests:

Check the device configuration

Device Fundamentals Reliability tests require test devices to be properly configured to test I/O. Before you start to test, make sure that the test configuration adheres to the testing prerequisites that are described in Device.Fundamentals Reliability Testing Prerequisites. Failure to meet these prerequisites can result in test failures.

Identify the type of test failures

See Troubleshooting Windows HCK Test Failures in Troubleshooting Windows HCK Test Failures to identify specific types of test failures.

Test logs a failure

The most common way for Device Fundamentals Reliability tests to fail in Windows HCK is for the test to log a failure. If your failed test logged a failure, we recommend that you proceed to the Triage test failures section of this topic.

Test system bug checks

System bug checks are commonly seen during Device Fundamentals Reliability tests because of the nature of the tests (stress, reliability, concurrency, etc.).

When you investigate failures that are caused by system bug checks, we highly recommend that you re-run the tests by having the test system connected to a kernel debugger. Running the tests by using the debugger causes the system to break into the debugger when the system bug-checks.

Test hangs

Test hangs frequently occur during Device Fundamentals Reliability tests. Test hangs are typically seen when I/O request packets (IRPs) (typically, I/O and PNP IRPs) become stuck in drivers and prevent the tests from progressing.

Note  

Windows HCK will eventually cancel and fail a hung test so that the next scheduled test can proceed.

 

If a test hangs, we highly recommended that you re-run the tests by having the test system connected to a kernel debugger. This allows you to break into the debugger at the time when the test hangs, and to inspect stack traces of the test process (Device Fundamentals Reliability tests typically run as te.processhost.exe or te.exe).

Triage test failures

Review test documentation

Device Fundamentals Reliability tests generally test common user scenarios such as Sleep with I/O, PNP with I/O, Reboot with I/O, etc. We recommend that you completely understand the scenario under test for the failing test(s) by reviewing the appropriate test documentation at Device.Fundamentals Reliability Tests.

Thoroughly review test logs

You should thoroughly review log entries that precede the actual error message, to gain a clear understanding of the current test scenario and the previous test scenarios that ran. Sometimes previous test scenarios that ran (even if they passed) affect the next test scenario. For example, I/O failures can occur after a device is disabled and enabled. For more information about reviewing test logs, see Review Log Files

Review additional log files that are copied back

Device Fundamentals Reliability tests often copy back additional files that are useful for triaging test failures. For example, Reinstall and PNP tests copy back SetupAPI logs from the test system. You should open and review all files under Additional Files on the Results tab in Windows HCK Studio. Right-click the test result and then select Additional Files.

Collect and view WDTF traces

It can be useful to collect and view WDTF traces when you troubleshoot certain test failures. See Collect and View Windows Device Testing Framework (WDTF) Traces for information about how to collect and view WDTF traces.

How to get help

Device Fundamentals Reliability test owners at Microsoft regularly review and respond to questions posted about Device Fundamentals Test failures at the Windows Hardware Testing and Certification Forum. We recommend that you use this forum to get needed support.

See Windows HCK Support for information about how to open a support case for investigating test failures.

Additional resources

The following table lists additional resources that can help you resolve problems you can encounter during device fundamentals testing.

Resource Description

Troubleshooting the Windows HCK Environment

General triage and troubleshooting assistance for Windows HCK infrastructure failures.

Troubleshooting Windows HCK Test Failures

General triage and troubleshooting guidance to investigate test failures.

Triaging WDTF-based tests

General guidance for troubleshooting failures that are logged by WDTF-based tests.

How to select and configure the Device Fundamentals tests

Device Fundamentals Reliability tests also ship in the Windows Driver Kit (WDK). Driver developers might prefer to use WDK and Microsoft Visual Studio to run the failing tests to investigate test failures. This page describes how to run the tests by using the WDK.

%ProgramFiles%\Windows Kits\8.1\Testing\Tests\Additional Tests\DeviceFundamentals.).

A subset of Device Fundamentals Reliability tests are written by using VBScript. You can open these script files by using Notepad. The scripts are located in the specified folder after you install the WDK.

Optional Diagnosability Tests

The Windows HCK contains optional category tests that can help to triage test failures. These tests can enable Driver Verifier with custom settings, enable Kernel Debugging on the test system, collect SetupAPI logs, collect system event logs, and collect device specific OS (USB, WLAN, WWAN, Bluetooth, etc.) traces.

Troubleshooting the Device Fundamentals tests using the WDK

Provides suggestions for fixing problems that you might encounter when you use the WDK to run the Device Fundamentals Tests.

 

Device.Fundamentals Reliability Testing

 

 

Send comments about this topic to Microsoft