디바이스 기본 사항 테스트를 선택 및 구성하는 방법
Windows 8용 WDK는 디바이스 기본 사항 테스트라는 테스트 집합을 포함하는 드라이버 테스트 프레임워크를 제공합니다. 디바이스 기본 사항 테스트는 Windows 및 WDK와 함께 제공되는 드라이버 및 드라이버 샘플을 테스트하기 위해 Microsoft 내부적으로 그리고 외부에서 하드웨어용 Windows 인증 프로그램의 일부로 사용되는 테스트 모음입니다. 개발 환경에서 테스트를 실행할 수 있습니다. 테스트를 실행할 때 Windows 인증 테스트에 사용되는 것과 동일한 매개 변수를 사용하거나 테스트 및 디버깅 요구 사항에 따라 런타임 매개 변수를 구성하고 사용자 지정할 수 있습니다.
디바이스 기본 사항 테스트에서 최대한 활용
디바이스 기본 사항 테스트를 최대한 활용하려면 기본 I/O 플러그 인에서 디바이스를 지원해야 합니다. 디바이스 유형이 지원되는지 확인하고 테스트에 대한 특정 요구 사항이 있는지 확인하려면 제공된 WDTF 단순 I/O 플러그 인을 참조 하세요. 디바이스 기본 사항 테스트에는 디바이스를 테스트하는 데 사용할 수 있는 유틸리티도 포함되어 지원되는지 확인합니다. 디바이스가 지원되지 않는 경우 WDTF 단순 I/O 플러그 인을 만들 수 있습니다. Visual Studio에서 자세한 내용은 WDTF 단순 I/O 작업 플러그 인을 사용하여 디바이스에 대한 I/O를 사용자 지정하는 방법을 참조하세요.
디바이스 기본 사항 테스트 정보
WDK는 기본 및 인증의 두 가지 구성으로 디바이스 기본 사항 테스트를 제공합니다. 두 구성 모두에서 테스트 매개 변수를 편집하여 대상 디바이스 또는 드라이버를 테스트하려는 방법에 따라 테스트 길이, 수행할 테스트 주기 수 및 기타 테스트 매개 변수를 변경할 수 있습니다. 기본 구성은 일반 드라이버 및 디바이스 테스트 및 디버깅을 위한 것입니다. 개발 주기의 초기 및 전체에서 기본 구성을 사용합니다. 기본 구성의 테스트에는 런타임이 짧은 것을 제외하고 Windows 인증 테스트에 사용되는 것과 동일한 설정이 있습니다. 인증 구성에서 테스트에는 Windows 인증 테스트에 사용되는 것과 동일한 설정이 있습니다. 인증 구성을 사용하여 하드웨어용 Windows 인증 프로그램의 디바이스 또는 드라이버를 테스트할 준비가 되었는지 확인합니다.
디바이스 기본 사항 테스트에는 다음 범주의 테스트가 포함됩니다.
- CHAOS 테스트(디바이스 기본 사항)
- 검사 테스트(디바이스 기본 사항)
- CPUStress 테스트(디바이스 기본 사항)
- 드라이버 설치 테스트(디바이스 기본 사항)
- I/O 테스트(디바이스 기본 사항)
- 침투 테스트(디바이스 기본 사항)
- PNP 테스트(디바이스 기본 사항)
- 다시 부팅 테스트(디바이스 기본 사항)
- 절전 모드 테스트(디바이스 기본 사항)
- Utility
- 드라이버 검증 도구
런타임 테스트 매개 변수 설정
많은 디바이스 기본 사항 테스트에 대한 런타임 매개 변수를 편집할 수 있습니다. 드라이버 테스트 그룹 창에서 테스트 이름 옆에 있는 화살표(»)는 테스트에 변경할 수 있는 매개 변수가 있음을 나타냅니다. 화살표(»)를 선택하여 런타임 매개 변수를 표시합니다.
가장 유용한 매개 변수 중 하나는 테스트할 대상 디바이스를 지정하는 DQ입니다. 기본값(IsDevice)은 대상 컴퓨터의 모든 디바이스를 테스트합니다. DQ 매개 변수는 대상 디바이스를 식별하는 WDTF SDEL 쿼리를 사용합니다. 테스트를 위해 특정 디바이스를 지정할 수 있습니다. 예를 들면 다음과 같습니다.
DeviceID='USB\ROOT_HUB\4&1CD5D022&0' 은 지정된 DeviceID를 사용하여 테스트할 디바이스만 선택합니다.
DQ 및 기타 런타임 매개 변수에 대한 자세한 내용은 디바이스 기본 사항 테스트 매개 변수를 참조하세요.
디바이스 기본 사항 테스트 매개 변수
매개 변수 | 설명 |
---|---|
DQ |
테스트에 사용해야 하는 디바이스 또는 디바이스를 식별합니다. DQ 매개 변수는 대상 디바이스를 식별하는 WDTFSDEL 쿼리를 사용합니다. 이 쿼리는 매우 유연할 수 있으며 단일 디바이스에서 시스템의 모든 디바이스에 이르기까지 다양한 디바이스를 표현하는 데 사용할 수 있습니다. 일반적인 예:
|
DoPoolCheck |
True 또는 False 풀 태그 및 할당 준비 목록을 사용하여 드라이버의 페이징 및 비페이징 시스템 메모리 풀 사용을 모니터링합니다. 이 옵션은 처리된 예외의 개수 변화도 모니터링하는데, 이 개수는 예외 처리의 오류를 나타낼 수 있습니다. |
ChangeBufferProtectionFlags |
True 또는 False 테스트된 디바이스에 전달되는 버퍼의 메모리 보호 플래그를 변경합니다. 메모리 보호 플래그는 액세스 권한 없음, 읽기 전용, 페이지 보호를 사용하는 읽기 전용 사이에서 전환됩니다. |
DoSimpleIO |
True 또는 False PNP 작업을 수행하기 전과 후에 테스트 디바이스에서 SimpleI/O(있는 경우)를 실행합니다. |
DoConcurrentIO |
True 또는 False PnP 작업을 수행하는 동안 WDTF 동시 I/O 인터페이스를 사용하여 대상 디바이스 스택에 I/O 요청을 보냅니다. |
FillZeroPageWithNull |
True 또는 False 제로 페이지를 매핑한 후 NULL 값으로 채웁니다. 이 테스트는 포인터를 역참조하기 전에 포인터 참조를 확인하지 않는 드라이버를 식별합니다. |
FuzzTestPeriod |
퍼지 테스트 기간(분)입니다. |
HPU |
높은 프로세서 사용률을 지정합니다. |
Impersonate |
True 또는 False 관리자 권한 없이 사용자로 테스트를 실행합니다. |
IOPeriod |
I/O 기간을 분 단위로 지정합니다. |
IOType |
I/O 스트레스 테스트의 유형을 지정합니다. SimpleIOStressEx 또는 SimpleIOStressProc(별도의 프로세스의 I/O). |
LPU |
낮은 프로세서 사용률을 지정합니다. |
MaxInBuffer |
테스트가 FSCTL(또는 IOCTL 테스트의 경우 IOCTL)에서 드라이버에 전달하는 입력 버퍼의 최대 크기(바이트)를 지정합니다. |
MinInBuffer |
테스트가 FSCTL(또는 IOCTL 테스트의 경우 IOCTL)에서 드라이버에 전달하는 입력 버퍼의 최소 크기(바이트)를 지정합니다. |
MaxOutBuffer |
테스트가 FSCTL(또는 IOCTL 테스트의 경우 IOCTL)에서 드라이버에 전달하는 출력 버퍼의 최대 크기(바이트)를 지정합니다. |
MinOutBuffer |
테스트가 FSCTL(또는 IOCTL 테스트의 경우 IOCTL)에서 드라이버에 전달하는 출력 버퍼의 최소 크기(바이트)를 지정합니다. |
MaxRandomCalls |
테스트에서 실행하는 최대 호출 수를 지정합니다. |
MaxTailoredCalls |
맞춤형 임의 테스트 중에 테스트에서 실행하는 최대 호출 수를 지정합니다. |
MaxDeviceType |
FSCTL(또는 IOCTL 테스트의 경우 IOCTL)에서 DeviceType 필드의 최대값을 지정합니다. 가능한 최대값은 65535입니다. |
MinDeviceType |
FSCTL(또는 IOCTL 테스트의 IOCTL)에서 DeviceType 필드의 최소값을 지정합니다. 가능한 최소값은 0입니다. |
MaxFunctionCode |
FSCTL(또는 IOCTL 테스트의 경우 IOCTL)에서 FunctionCode 필드의 최대값을 지정합니다. 가능한 최댓값은 4095입니다. |
MinFunctionCode |
FSCTL(또는 IOCTL 테스트의 IOCTL)에서 FunctionCode 필드의 최소값을 지정합니다. 가능한 최소값은 0입니다. |
PU |
프로세서 사용률 백분율을 지정합니다. |
PingPongPeriod |
탁구 기간을 분 단위로 지정합니다. 프로세서가 HPU(높음)와 낮은(LPU) 프로세서 사용률 수준을 번갈아 가며 사용하는 시간입니다. |
ResumeDelay |
머신이 절전 모드에서 다시 시작된 후 다음 I/O 주기가 시작되기 전의 지연 시간(초)입니다. 지연 시간은 디바이스가 작업 상태를 복원할 수 있도록 허용하는 데 필요합니다(네트워크 카드의 IP 주소 갱신 등). |
TestCycles |
수행할 테스트 주기(반복)의 수를 지정합니다. |
WDTFREMOTESYSTEM |
이 매개 변수는 테스트 중인 디바이스 또는 해당 자식 디바이스 중 하나가 IPv6 게이트웨이 주소가 없는 유선 네트워크 어댑터인 경우에만 필요합니다. 네트워크에서 이 매개 변수가 필요한 경우 테스트 네트워크 어댑터가 네트워크를 테스트하기 위해 ping할 수 있는 IPv6 주소를 제공해야 합니다. 예: fe80::78b6:810:9c12:46cd |
Wpa2PskAesSsid |
이 매개 변수는 테스트 중인 디바이스 또는 해당 자식 디바이스 중 하나가 WiFi 어댑터인 경우에만 필요합니다. 테스트에서 WiFi 어댑터를 테스트하는 데 사용할 수 있는 WPA2 AES WiFi 네트워크의 SSID를 제공합니다. 기본값: kitstestssid |
Wpa2PskPassword |
이 매개 변수는 테스트 중인 디바이스 또는 해당 자식 디바이스 중 하나가 WiFi 어댑터인 경우에만 필요합니다. Wpa2PskAesSsid 매개 변수를 사용하여 지정된 WPA2 AES WiFi 네트워크의 암호를 제공합니다. 기본값: 암호 |
유틸리티 테스트
테스트 | 설명 |
---|---|
WDTF 단순 I/O 플러그 인이 있는 디바이스 표시 |
매개 변수: 없음 |
드라이버 검증 도구를 사용하도록 설정된 디바이스 표시 |
매개 변수: 없음 |
디바이스 표시 |
매개 변수: 없음 |
드라이버 검증 도구
테스트 | 설명 |
---|---|
드라이버 검증 도구 사용 안 함 |
테스트 컴퓨터에서 드라이버 검증 도구를 사용하지 않도록 설정합니다. 매개 변수: 없음 |
드라이버 검증 도구 사용 |
이 테스트를 사용하여 테스트 컴퓨터에서 디바이스(또는 디바이스)의 모든 드라이버에 대해 드라이버 검증 도구를 사용하도록 설정할 수 있습니다. 매개 변수: - 드라이버 검증 도구 옵션을 참조 하세요. |