Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

การทดสอบ

การทดสอบโครงการ

OpenThread ที่เปิดตัวโดย Google ได้รับการทดสอบโดยเครื่องมือต่างๆ

บูรณาการอย่างต่อเนื่อง

Travis CI Codecov

OpenThread ใช้ Travis CI สำหรับการรวมแบบต่อเนื่อง (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 เป็น fuzz ที่ทดสอบด้วย OSS-Fuzz ในเทคนิคการทดสอบนี้จะมีการส่งอินพุตที่ไม่ถูกต้องและสุ่มที่ความถี่สูงและปริมาณไปยังซอฟต์แวร์เพื่อค้นหาปัญหาต่างๆเช่นหน่วยความจำรั่วหรือล่ม

ดูที่เก็บ OpenThread สำหรับ เป้าหมายการสร้าง ที่คลุมเครือใน ปัจจุบัน

การทดสอบผลิตภัณฑ์

ใช้เครื่องมือต่อไปนี้เพื่อทดสอบผลิตภัณฑ์ OpenThread ของคุณเอง

Wireshark

Wireshark คือตัววิเคราะห์โปรโตคอลเครือข่ายโอเพ่นซอร์สสำหรับการรับส่งข้อมูลที่ทำงานบนอินเทอร์เฟซเครือข่ายทางกายภาพและเสมือน รองรับโปรโตคอล Thread ใน Wireshark 2.4.0 และใหม่กว่า เอกสารและดาวน์โหลดสำหรับเครื่องมือนี้สามารถพบได้ที่ wirehark.org

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรองรับเธรดใน Wireshark โปรดดู Packet sniffing ด้วย Pyspinel

Pyspinel

Pyspinel เป็น Python CLI สำหรับ โปรโตคอล Spinel ซึ่งใช้ในการกำหนดค่าและจัดการ OpenThread NCPs หรือ RCPs CLI นี้มีเป้าหมายหลักเพื่อการทดสอบ CI แต่สามารถใช้ด้วยตนเองเพื่อทดลองและทดสอบอินสแตนซ์ OpenThread Co-Processor

Pyspinel ใช้เพื่อ:

  • เพิ่มการทดสอบ Co-Processor จำลองเพื่อการผสานรวมอย่างต่อเนื่อง
  • ทำการทดสอบโดยอัตโนมัติของ testbeds ที่รันเฟิร์มแวร์ Co-Processor บนฮาร์ดแวร์
  • Debug Co-Processor สร้าง OpenThread
  • แปลง OpenThread Co-Processor เป็น packet sniffer

สำหรับข้อมูลเพิ่มเติมโปรดดู README ในที่เก็บ Pyspinel