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 fundamentales del dispositivo son una colección de pruebas que se usan internamente en Microsoft para probar los controladores y muestras de controladores que se distribuyen con Windows y el 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 de 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 de WDTF. en Visual Studio. Para obtener más información, consulte Cómo personalizar la E/S para su dispositivo mediante el complemento de acción de E/S simple de WDTF.

Acerca de las pruebas básicas del dispositivo

El WDK proporciona las pruebas Fundamentales del Dispositivo en dos configuraciones: Básica y de 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 depuración generales de controladores y dispositivos de hardware. 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. Utilice la configuración de certificación para verificar la preparación para las pruebas de su dispositivo o controlador para el Programa de Certificación de Hardware de Windows .

Las pruebas fundamentales de dispositivos incluyen pruebas en las siguientes categorías.

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

Puede editar los parámetros de ejecución para muchas de las pruebas fundamentales del dispositivo. En la ventana del Grupo de pruebas de conductores, una flecha (») junto a un nombre de prueba indica que la prueba tiene parámetros que puede modificar. 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 requiere una consulta WDTFSDEL 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 la DeviceID especificada.

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 los 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 requiere una consulta WDTFSDEL que 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::DriverLetter=’DriveLetter

Por ejemplo, Volume::DriverLetter='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 siguiente objetivo para los dispositivos que usan los controladores KMDFTest.sys.

(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 : Destino: 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 el destino:KMDFTest Device ROOT\SAMPLE\0000 no se encontró ninguna interfaz de E/S simple. WDTF_SIMPLE_IO : INFO : - Para el destino: KMDFTest Device ROOT\SAMPLE\0000 WDTF usará cualquier interfaz de E/S simple. WDTF_SIMPLE_IO : INFO : - Open(KMDFTest Device ROOT\SAMPLE\0000 ) Intento número 1 WDTF_SUPPORT : INFO : - WaitForMinutes : 1 WDTF_SIMPLE_IO : INFO : - PerformIO(KMDFTest Device ROOT\SAMPLE\0000 ) Cuenta 1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - Terminar el proceso(KMDFTest Device ROOT\SAMPLE\0000 )

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

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

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

DoPoolCheck

Verdadero o Falso. Supervise 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 la memoria de los búferes pasados al dispositivo probado. Las marcas de protección de la memoria alternan entre sin acceso, solo lectura y solo lectura con página de protección.

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 concurrente WDTF para enviar solicitudes de E/S a las 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 desreferenciarlo.

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 FSCTL (o IOCTL 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 FSCTL (o IOCTL 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 FSCTL (o IOCTL 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 FSCTL (o IOCTL para las pruebas de IOCTL).

MaxRandomCalls

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

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.

TipoMínimoDeDispositivo

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

Dispositivos de visualización con complementos de E/S simples de 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 Verificador de Controladores en el equipo de prueba.

Parámetros: Ninguno

Habilitar comprobador de controladores

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

Parámetros: - Ver Opciones del Comprobador de Controladores.