Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

테스팅

프로젝트 테스트

Google에서 출시 한 OpenThread는 여러 도구로 테스트되었습니다.

지속적인 통합

OpenThread는 CI (지속적 통합)에 GitHub Actions 를 사용하고 코드 커버리지에 Codecov 를 사용합니다.

CI는 GNU Arm Embedded Toolchain을 사용하는 모든 예제 플랫폼과 GCC, Clang 및 Android를 사용하는 시뮬레이션 된 예제에 대한 빌드 검사를 수행합니다. 또한 x86, 플랫폼 아키텍처 및 스레드 장치 구성에 대해 빌드하고 테스트합니다. 특정 테스트 및 검사에 대한 자세한 내용은 워크 플로를 참조하십시오.

또한 CI는 다음을 수행합니다.

  1. clang-format 사용한 코드 스타일 검사
  2. 단위 테스트
  3. CLI, wpantund ( toranj ) 및 Pyspinel에 대한 기능 테스트

OSS-Fuzz

OpenThread는 OSS-Fuzz로 퍼즈 테스트를 거쳤습니다. 이 테스트 기술에서는 메모리 누수 또는 충돌과 같은 문제를 찾기 위해 유효하지 않은 임의의 입력이 높은 빈도와 볼륨으로 소프트웨어에 제출됩니다.

현재 퍼징 빌드 대상 은 OpenThread 저장소를 참조하십시오.

제품 테스트

다음 도구를 사용하여 자신의 OpenThread 제품을 테스트하십시오.

Wireshark

Wireshark는 물리적 및 가상 네트워크 인터페이스에서 실행되는 트래픽을위한 오픈 소스 네트워크 프로토콜 분석기입니다. Thread 프로토콜은 Wireshark 2.4.0 이상 에서 지원됩니다. 이 도구에 대한 문서 및 다운로드는 wireshark.org 에서 찾을 수 있습니다.

Wireshark에서 Thread가 지원되는 방법에 대한 자세한 내용은 Pyspinel을 사용한 패킷 스니핑을 참조 하세요 .

Pyspinel

Pyspinel은 Spinel 프로토콜 용 Python CLI로 OpenThread NCP 또는 RCP 를 구성하고 관리하는 데 사용됩니다. 이 CLI는 주로 CI 테스트를 대상으로하지만 수동으로 OpenThread Co-Processor 인스턴스를 실험하고 테스트하는 데 사용할 수 있습니다.

Pyspinel은 다음과 같은 용도로 사용됩니다.

  • 연속 통합에 시뮬레이션 된 공동 프로세서 테스트를 추가합니다.
  • 하드웨어에서 Co-Processor 펌웨어를 실행하는 테스트 베드 테스트를 자동화합니다.
  • OpenThread의 공동 프로세서 빌드를 디버그합니다.
  • OpenThread Co-Processor를 패킷 스니퍼로 변환합니다.

자세한 내용은 Pyspinel 저장소의 README 를 참조하세요.