테스트 사례를 실행하기 전에 모든 테스트 기기 (골든 및 DUT)를 GRL 테스트 하네스 및 하네스 자동화 도구로 Windows 머신에 연결해야 합니다.
하네스 자동화 도구 사용
모든 테스트 사례는 tools/harness-automation
디렉터리에서 실행됩니다. 다음 두 가지 방법이 있습니다.
start.sh
- Windows용 Git와 함께 번들로 제공되는 Bash 사용start.bat
- Windows 명령줄 (cmd)에서
모든 테스트 사례를 실행하려면 다음 단계를 따르세요.
./start.sh
./start.bat
개별 테스트 사례 (이름에 대소문자를 구분함)를 실행하는 방법은 다음과 같습니다.
./start.sh Router_5_1_1 Leader_5_1_1
./start.bat Router_5_1_1 Leader_5_1_1
GRL 테스트 하네스 사용
테스트베드가 구성된 후 선택한 DUT 역할에 따라 테스트 사례 배치가 실행됩니다. 테스트 선택 섹션에는 테스트 계획에서 선택한 역할에 사용 가능한 모든 테스트 사례가 나열됩니다.
원하는 대로 테스트 사례를 선택한 다음 녹색 재생 버튼을 클릭하여 실행합니다.
수동 테스트 작업
테스트 하네스는 일부 테스트 사례에서 사용자에게 수동 입력을 요청하는 메시지를 표시합니다.
네트워크 사용자 인증 정보
테스트 계획의 섹션 5, 6, 7, 9에 있는 테스트 사례의 경우 네트워크 사용자 인증 정보를 대역 외로 구성해야 합니다. 예를 들면 다음과 같습니다.
기기 불러오기 중 매개변수 구성:
panid 0xface Done
channel 20 Done
networkname GRL Done
extpanid 000db80000000000 Done
'리더로서의 DUT' 구성, 인터페이스 표시 전:
dataset activetimestamp 1 Done
dataset commit active Done
'DUT로서의 최종 기기' 구성:
mode rsn
Done
'SED로서의 DUT' 구성. 여기서 pollperiod
(밀리초)는 테스트 하네스에서 기본 SedPollingRate
로 설정됩니다.
mode s Done
pollperiod 5000 Done
스레드 인터페이스 및 스택을 가져옵니다.
ifconfig up Done
thread start Done
감독자 역할 설정
테스트 계획 8항의 테스트 사례의 경우 감독자 역할을 구성합니다.
스레드 스택을 불러온 후 위임을 시작합니다.
commissioner start
Done
조정 데이터를 추가합니다.
commissioner joiner add eui64 THREADJPAKETEST 200
eui64
는 eui64
CLI 명령어를 통해 팩토리에서 할당한 IEEE EUI-64 식별자입니다. THREADJPAKETEST
는 기기의 사전 공유 키 (PSKd)를 생성하는 데 사용되는 연결자 사용자 인증 정보입니다. 구성된 제한 시간이 지나면 조이너가 조정 데이터에서 삭제됩니다.
8.2.x Commissioner 테스트 사례에서는 시간 제한 값으로 500
를 사용하는 것이 좋습니다.
Joiner 사용자 인증 정보 기본값인 THREADJPAKETEST
를 사용하여 스레드 인터페이스를 불러온 후 Joiner 역할을 시작합니다.
joiner start THREADJPAKETEST
지정된 프로비저닝 URL을 사용하여 스레드 인터페이스를 불러온 후 Joiner 역할을 시작합니다.
joiner start THREADJPAKETEST www.threadgroup.org
기타 입력
테스트 하네스는 다른 수동 작업을 요청할 수도 있고 이러한 작업에 사용할 값(예: IPv6 주소)을 제공할 수도 있습니다. 메시지가 표시되면 다음 OpenThread CLI 명령어를 사용합니다.
프롬프트 | CLI 명령어 |
---|---|
확장 주소 | extaddr |
IPv6 주소 | ipaddr |
연결자 공장 MAC 주소 | eui64 |
감독자 프로비저닝 URL 설정 | commissioner provisioningurl www.threadgroup.org |
초기화 | factoryreset |
모든 TLV 보기 | dataset mgmtgetcommand active address ipv6-address |
네트워크 채널 마스크 (0x35), 메시 로컬 ULA 프리픽스 (0x07), 네트워크 이름 (0x03) 가져오기 | dataset mgmtgetcommand active address ipv6-address binary 350703 |
네트워크 채널 (0x00), 메시 로컬 ULA 프리픽스 (0x07), 네트워크 이름 (0x03), 스캔 기간 (0x38), 에너지 목록 (0x39) 가져오기 | dataset mgmtgetcommand active address ipv6-address binary 0007033839 |
모든 CLI 명령어 목록은 OpenThread CLI 참조를 확인하세요.
자격증 팁
혼합 테스트 침대에 대해 기기 선택 사용 설정
스레드 인증 테스트 중에는 ARM, NXP, Silicon Labs, OpenThread의 참조 스택이 포함된 혼합 테스트 침대가 사용됩니다. 테스트 침대 토폴로지는 C:\GRL\Thread1.1\Thread_Harness\TestScripts\TopologyConfig.txt
파일에 정의되어 있습니다.
스레드 그룹의 ATL과 동일한 참조 플랫폼에서 테스트 사례를 실행하기 위해 기기 선택을 사용 설정하려면 C:\GRL\Thread1.1\Config\Configuration.ini
파일의 EnableDeviceSelection
매개변수를 True
로 설정합니다.
EnableDeviceSelection = True
RF 차폐
테스트 사례 9.2.9 (리더, 라우터)와 9.2.10 (라우터, ED1, SED1)의 경우 올바른 기기가 RF 실드인지 확인하려면 특별한 주의가 필요합니다. 각 테스트에 필요한 대로 모든 기기가 역할에 구성되어 있다고 가정합니다.
- Windows 머신에 연결된 NXP 스니퍼만 사용하여 테스트 하네스를 시작합니다. 이렇게 하면 테스트 하네스에서 기기가 자동으로 검색되지 않습니다.
- 테스트 기기를 하나씩 연결하고 상응하는 직렬 포트를 확인합니다.
- 다음 기기 그룹 중 하나를 RF 실드 상자에 넣습니다.
- 테스트 9.2.9의 경우:
- 리더 및 위원회
- Router1, Router2, Sniffer
- 테스트 9.2.10의 경우:
- 리더 및 위원회
- 라우터, ED, SED, 스니퍼
- 테스트 9.2.9의 경우:
- 테스트 하네스의 테스트 침대 구성 페이지에서 각 기기를 테스트 사례에 따라 테스트 침대 섹션의 다음 정렬 순서로 구성합니다.
RF 실드 테스트 사례의 최종 기기 정렬 순서 9.2.9 1. 라우터2
2. 감독관
3. 라우터1
4. 선두9.2.10 1. SED
2. ED
3. 라우터1
4. 감독관
5. 선두- 기존 기기의 테스트베드 섹션을 지웁니다.
- 특정 테스트 사례 토폴로지에 적합한 기기를 왼쪽의 지원되는 하드웨어 섹션에서 오른쪽의 테스트 침대 섹션으로 드래그합니다. 최종 정렬 순서에서 역순으로 드래그해야 합니다. 예를 들어 테스트 사례 9.2.9의 경우 리더를 먼저 드래그한 후 Router1을 드래그하는 방식으로 진행합니다. 잘못된 기기를 드래그하면 Test Bed 섹션에서 기기를 지우고 다시 시작합니다.
- 테스트 침대 섹션에서 최종 정렬 순서로 각 기기의 일련번호 또는 IP 정보를 입력합니다. 예를 들어 테스트 사례 9.2.9의 경우 드래그 후 첫 번째 기기는 Router2이고 두 번째 기기는 Commissioner입니다.
- 지원되는 하드웨어 목록 아래에서 자동 DUT 기기 선택 사용 설정 체크박스를 선택합니다.
- DUT에서 DUT로 설정 라디오 버튼을 선택합니다.
- 모두 연결을 선택하여 기기 검색을 시작합니다.
- 테스트 사례 (9.2.9 또는 9.2.10)를 실행합니다. 테스트 하네스의 안내에 따라 각 기기 그룹을 실드하거나 잠금 해제합니다.