Pengujian

Pengujian project

OpenThread yang dirilis oleh Google diuji oleh sejumlah alat.

Continuous integration

OpenThread menggunakan GitHub Actions untuk integrasi berkelanjutan (CI), dan Codecov untuk cakupan kode.

CI melakukan pemeriksaan build untuk semua platform contoh menggunakan GNU Arm Embedded Toolchain dan untuk contoh simulasi menggunakan GCC, Clang, dan Android. Selain itu, alat ini juga membangun dan menguji konfigurasi x86, arsitektur platform, dan perangkat Thread. Untuk mengetahui informasi selengkapnya tentang pengujian dan pemeriksaan tertentu, lihat Alur kerja.

Selain itu, CI melakukan:

  1. Pemeriksaan gaya kode menggunakan clang-format
  2. Pengujian unit
  3. Pengujian fungsional terhadap CLI dan Pyspinel

OSS-Fuzz

OpenThread diuji kegagalan (fuzz) dengan OSS-Fuzz. Dalam teknik pengujian ini, input yang tidak valid dan acak dikirimkan dengan frekuensi dan volume tinggi ke software untuk menemukan masalah seperti kebocoran memori atau error.

Lihat repositori OpenThread untuk mengetahui target build fuzzing saat ini.

Pengujian produk

Gunakan alat berikut untuk menguji produk OpenThread Anda sendiri.

Wireshark

Wireshark adalah penganalisis protokol jaringan open source untuk traffic yang berjalan di antarmuka jaringan fisik dan virtual. Protokol Thread didukung di Wireshark 2.4.0 dan yang lebih baru. Dokumentasi dan download untuk alat ini dapat ditemukan di wireshark.org.

Untuk mengetahui informasi selengkapnya tentang cara Thread didukung di Wireshark, lihat Packet sniffing with Pyspinel.

Pyspinel

Pyspinel adalah CLI Python untuk protokol Spinel, yang digunakan untuk mengonfigurasi dan mengelola NCP atau RCP OpenThread. CLI ini terutama ditujukan untuk pengujian CI, tetapi dapat digunakan secara manual untuk bereksperimen dengan dan menguji instance Co-Processor OpenThread.

Pyspinel digunakan untuk:

  • Menambahkan pengujian Co-Prosesor yang disimulasikan ke continuous integration.
  • Mengotomatiskan pengujian testbed yang menjalankan firmware Co-Processor di hardware.
  • Men-debug build Co-Processor OpenThread.
  • Mengonversi Co-Processor OpenThread menjadi packet sniffer.

Untuk mengetahui informasi selengkapnya, lihat README di repositori Pyspinel.