Compartir a través de


Cómo seleccionar y configurar las pruebas de aspectos básicos del dispositivo

WDK para Windows 8 proporciona un marco de pruebas de controladores que incluye un conjunto de pruebas denominadas pruebas fundamentales del dispositivo. Las pruebas aspectos básicos del dispositivo son una colección de pruebas que se usan internamente en Microsoft para probar los controladores y ejemplos de controladores que se incluyen con Windows y WDK, y externamente como parte del Programa de certificación de Windows para hardware. Puede ejecutar las pruebas desde el entorno de desarrollo. Al ejecutar las pruebas, puedes usar los mismos parámetros que se usan para las pruebas de certificación de Windows, o puedes configurar y personalizar los parámetros en tiempo de ejecución según las necesidades de pruebas y depuración.

Obtener el máximo partido de las pruebas de aspectos básicos del dispositivo

Para obtener la mayor ventaja de las pruebas de aspectos básicos del dispositivo, el dispositivo debe ser compatible con los complementos de E/S predeterminados. Para ver si se admite el tipo de dispositivo y determinar si hay requisitos específicos para las pruebas, consulte Complementos de E/S simples WDTF proporcionados. La prueba Aspectos básicos del dispositivo también incluye una utilidad que puede usar para probar el dispositivo para ver si es compatible. Si el dispositivo no es compatible, puede crear un complemento de E/S simple WDTF. en Visual Studio. Para obtener más información, consulte Personalización de E/S para el dispositivo mediante el complemento de acción de E/S simple de WDTF.

Acerca de las pruebas fundamentales del dispositivo

WDK proporciona las pruebas aspectos básicos del dispositivo en dos configuraciones, Básica y Certificación. En ambas configuraciones, puede editar los parámetros de prueba para variar la longitud de la prueba, el número de ciclos de prueba que se van a realizar y otros parámetros de prueba, en función de cómo quiera probar los dispositivos o controladores de destino. La configuración básica está pensada para pruebas y depuraciones generales de controladores y dispositivos. Use la configuración básica al principio y a lo largo del ciclo de desarrollo. Las pruebas de la configuración Básica tienen las mismas opciones que se usan en las pruebas de certificación de Windows, con la excepción de tener un tiempo de ejecución más corto. En la configuración de certificación, las pruebas tienen la misma configuración que se usan en las pruebas de certificación de Windows. Use la configuración de certificación para comprobar la preparación para probar el dispositivo o el controlador para el Programa de certificación de Windows para hardware.

Las pruebas fundamentales del dispositivo incluyen pruebas en las siguientes categorías.

Establecimiento de los parámetros de prueba en tiempo de ejecución

Puede editar los parámetros en tiempo de ejecución para muchas de las pruebas aspectos básicos del dispositivo. En la ventana Grupo de pruebas de controladores, una flecha (») junto a un nombre de prueba indica que la prueba tiene parámetros que puede cambiar. Seleccione la flecha (») para mostrar los parámetros en tiempo de ejecución.

Uno de los parámetros más útiles es DQ, que especifica el dispositivo de destino que se va a probar. El valor predeterminado (IsDevice) prueba todos los dispositivos del equipo de destino. El parámetro DQ toma una consulta SDEL WDTF que identifica los dispositivos de destino. Puede especificar un dispositivo determinado para las pruebas, por ejemplo:

DeviceID='USB\ROOT_HUB\4&1CD5D022&0' selecciona solo el dispositivo para realizar pruebas con el DeviceID especificado.

Para obtener más información sobre DQ y los otros parámetros en tiempo de ejecución, consulte Parámetros de prueba de Aspectos básicos del dispositivo.

Parámetros de prueba de aspectos básicos del dispositivo

Parámetro Descripción

DQ

Identifica el dispositivo o los dispositivos que se deben usar para las pruebas. El parámetro DQ toma una consulta SDEL WDTFque identifica los dispositivos de destino. Esta consulta puede ser muy flexible y se puede usar para expresar cualquier número de dispositivos, desde un único dispositivo a todos los dispositivos del sistema.

Ejemplos comunes:

Para probar todos los dispositivos que se instalaron con un archivo INF específico:

INF::FileName=INF_File_Name

Por ejemplo, INF::OriginalInfFileName='KMDFTest.inf'

Inf::OriginalInFileName se puede usar con cualquier INF.

Para probar un dispositivo con un identificador de dispositivo específico:

DeviceId='DeviceId'

Por ejemplo, DeviceID='USB\ROOT_HUB\4&1CD5D022&0'

Para probar un dispositivo con una interfaz específica:

Interfaces::InterfaceGUID

Para probar un dispositivo con una letra de controlador específica:

Volume::D riverLetter='DriveLetter'

Por ejemplo, Volume::D riverLetter='c:\'

Para probar un dispositivo con un controlador específico:

DriverBinaryNames=mydriver.sys

Donde KMDFTest.inf es el inf usado para instalar el controlador. También puede usar el folloiwng de destino de los dispositivos que usan KMDFTest.sys controlador.

(DriverBinaryNames='KMDFTest.sys') funciona.

Después de establecer el SDEL correctamente, debería ver la siguiente salida en la consola al ejecutar una prueba.

WDTF_TARGETS : INFO : - Query("IsDevice AND ((Inf::OriginalInfFileName='KMDFTest.inf'))") WDTF_TARGETS : INFO: Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO: ADVERTENCIA: La prueba no está aplicando que el comprobador del controlador esté habilitado. WDTF_TEST : INFO : DV está habilitado con Flag:=0x209bb WDTF_TEST : INFO : DV está habilitado correctamente para todos los controladores de este devnode(UniqueTargetName):=KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGET : INFO : - GetInterface("Support") WDTF_TARGET : INFO : Destino: DESKTOP-2OVFH3G WDTF_TARGETS : INFO : - Query("IsDevice") WDTF_TARGETS : INFO : Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetRelations("below-or-self/", "IsDevice") WDTF_TARGETS : INFO : Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetInterfacesIfExist("SimpleIOStressProc") WDTF_SIMPLE_IO : INFO : - For Target:KMDFTest Device ROOT\SAMPLE\0000 no se encontró ninguna interfaz de E/S simple. WDTF_SIMPLE_IO : INFO: - Para Target:KMDFTest Device ROOT\SAMPLE\0000 WDTF usará la interfaz de E/S simple ANY.

Consulte archivos adjuntos de configuración y archivos de registro para obtener más detalles. WDTF_TARGETS : INFO : Destino: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO : Realizar 1 ciclo(s) de prueba de terminación de E/S WDTF_TEST : INFO : Ciclo de terminación de E/S #1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - StartAsync(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLEIO_STRESS_PROC : INFO : - WaitAsyncCompletion(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLE_IO : INFO : - Para destino: KMDFTest Device ROOT\SAMPLE\0000 no se encontró ninguna interfaz de E/S simple. WDTF_SIMPLE_IO : INFO: - Para Target:KMDFTest Device ROOT\SAMPLE\0000 WDTF usará la interfaz de E/S simple ANY. WDTF_SIMPLE_IO : INFO : - Open(KMDFTest Device ROOT\SAMPLE\0000 ) Try count 1 WDTF_SUPPORT : INFO : - WaitForMinutes : 1 WDTF_SIMPLE_IO : INFO : - PerformIO(KMDFTest Device ROOT\SAMPLE\0000 ) Count 1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - Terminate(KMDFTest Device ROOT\SAMPLE\0000 ) process

Para probar todos los dispositivos de una clase de dispositivo específica:

Por ejemplo, Class=CDROM probaría todo el dispositivo de la clase CDROM.

Por ejemplo, ClassGUID= {36fc9e60-c465-11cf-8056-444553540000} probaría todos los dispositivos cuyo GUID de clase coincide con el GUID especificado. En este caso, el GUID es para la clase USB.

DoPoolCheck

Verdadero o Falso. Supervisa el uso del controlador de los grupos de memoria del sistema paginados y no paginados mediante etiquetas de grupo y listas de búsqueda. Esta opción también supervisa los cambios en el número de excepciones controladas que podrían indicar errores en el control de excepciones.

ChangeBufferProtectionFlags

Verdadero o Falso. Cambia las marcas de protección de memoria de los búferes pasados al dispositivo probado. Las marcas de protección de memoria alternan entre ningún acceso, solo lectura y solo lectura con protección de páginas.

DoSimpleIO

Verdadero o Falso. Ejecuta SimpleI/O (si se encuentra) en dispositivos de prueba antes y después de realizar operaciones de PNP.

DoConcurrentIO

Verdadero o Falso. Usa la interfaz de E/S simultánea de WDTF para enviar solicitudes de E/S a pilas de dispositivos de destino mientras realiza operaciones de PnP.

FillZeroPageWithNull

Verdadero o Falso. Asigna la página cero y la rellena con valores NULL. Esta prueba identifica los controladores que no comprueban una referencia de puntero antes de desreferenciar el puntero.

FuzzTestPeriod

Período de prueba aproximada en minutos.

HPU

Especifica el alto porcentaje de uso del procesador.

Impersonate

Verdadero o Falso. Ejecuta la prueba como usuario sin privilegios de administrador.

IOPeriod

Especifica el período de E/S en minutos.

IOType

Especifica el tipo de prueba de esfuerzo de E/S: SimpleIOStressEx o SimpleIOStressProc (E/S en un proceso independiente).

LPU

Especifica el porcentaje de uso bajo del procesador.

MaxInBuffer

Especifica el tamaño máximo, en bytes, de los búferes de entrada que la prueba pasa al controlador en fscTLs (o IOCTLs para las pruebas de IOCTL).

MinInBuffer

Especifica el tamaño mínimo, en bytes, de los búferes de entrada que la prueba pasa al controlador en las pruebas FSCTLs (o IOCTLs para las pruebas de IOCTL).

MaxOutBuffer

Especifica el tamaño máximo, en bytes, de los búferes de salida que la prueba pasa al controlador en FSCTLs (o IOCTLs para las pruebas de IOCTL).

MinOutBuffer

Especifica el tamaño mínimo, en bytes, de los búferes de salida que la prueba pasa al controlador en las pruebas FSCTLs (o IOCTLs para las pruebas de IOCTL).

MaxRandomCalls

Especifica el número máximo de llamadas que emite la prueba.

MaxTailoredCalls

Especifica el número máximo de llamadas que emite la prueba durante la prueba aleatoria adaptada.

MaxDeviceType

Especifica el valor máximo del campo DeviceType en los FSCTLs (o IOCTLs para las pruebas IOCTL). El valor máximo posible es 65535.

MinDeviceType

Especifica el valor mínimo del campo DeviceType en los FSCTLs (o IOCTLs para las pruebas IOCTL). El valor mínimo posible es 0.

MaxFunctionCode

Especifica el valor máximo del campo FunctionCode en los FSCTLs (o IOCTLs para las pruebas de IOCTL). El valor máximo posible es 4095.

MinFunctionCode

Especifica el valor mínimo del campo FunctionCode en los FSCTLs (o IOCTLs para las pruebas de IOCTL). El valor mínimo posible es 0.

PU

Especifica el porcentaje de uso del procesador.

PingPongPeriod

Especifica el período de ping pong en minutos; el tiempo que alterna el procesador entre los niveles de uso de procesador alto (HPU) y bajo (LPU).

ResumeDelay

El tiempo de retraso (en segundos) después de que la máquina se reanude del modo de suspensión y antes de que se inicie el siguiente ciclo de E/S. El tiempo de retraso es necesario para permitir que los dispositivos restauren su estado de trabajo (renueve la dirección IP de la tarjeta de red, etc.).

TestCycles

Especifica el número de ciclos de prueba (iteraciones) que se van a realizar.

WDTFREMOTESYSTEM

Este parámetro solo es necesario si el dispositivo sometido a prueba o uno de sus dispositivos secundarios es un adaptador de red cableada que no tiene una dirección de puerta de enlace IPv6. Si este parámetro es necesario en la red, debe proporcionar una dirección IPv6 a la que el adaptador de red de prueba pueda hacer ping para probar la red.

Ejemplo: fe80::78b6:810:9c12:46cd

Wpa2PskAesSsid

Este parámetro solo es necesario si el dispositivo sometido a prueba o uno de sus dispositivos secundarios es un adaptador WiFi. Proporcione el SSID de una red WiFi AES WPA2 que la prueba puede usar para probar el adaptador WiFi.

Valor predeterminado: kitstestssid

Wpa2PskPassword

Este parámetro solo es necesario si el dispositivo sometido a prueba o uno de sus dispositivos secundarios es un adaptador WiFi. Proporcione la contraseña de la red WiFi WPA2 AES que se especifica mediante el parámetro Wpa2PskAesSsid.

Valor predeterminado: contraseña

Pruebas de utilidad

Prueba Descripción

Mostrar dispositivos con complementos de E/S simples WDTF

Parámetros: Ninguno

Mostrar dispositivos que tienen habilitado el comprobador de controladores

Parámetros: Ninguno

Mostrar dispositivos

Parámetros: Ninguno

Comprobador de controladores

Prueba Descripción

Deshabilitar comprobador de controladores

Deshabilita el Comprobador de controladores en el equipo de prueba.

Parámetros: Ninguno

Habilitación del comprobador de controladores

Puede usar esta prueba para habilitar el Comprobador de controladores para todos los controladores de un dispositivo (o dispositivos) en el equipo de prueba.

Parámetros: - Consulte Opciones del comprobador de controladores.