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

테스팅

프로젝트 테스트

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

지속적인 통합

트래비스 CI Codecov

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

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

또한 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 를 참조하세요.