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

การทดสอบ

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

OpenThread ที่เผยแพร่โดย Google ได้รับการทดสอบโดยเครื่องมือหลายอย่าง

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

OpenThread ใช้ GitHub Actions สำหรับการรวมแบบต่อเนื่อง (CI) และ Codecov สำหรับการครอบคลุมโค้ด

CI ทำการตรวจสอบการสร้างสำหรับแพลตฟอร์มตัวอย่างทั้งหมดโดยใช้ GNU Arm Embedded Toolchain และสำหรับตัวอย่างจำลองโดยใช้ GCC, Clang และ Android นอกจากนี้ยังสร้างและทดสอบกับ x86 สถาปัตยกรรมแพลตฟอร์มและการกำหนดค่าอุปกรณ์เธรด สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบและการตรวจสอบเฉพาะโปรดดู เวิร์กโฟลว์

นอกจากนี้ 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