การทดสอบ

การทดสอบโปรเจ็กต์

OpenThread ที่เผยแพร่โดย Google ผ่านการทดสอบจากเครื่องมือต่างๆ

การผสานรวมอย่างต่อเนื่อง

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

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

นอกจากนี้ CI ยังดําเนินการดังต่อไปนี้

  1. ตรวจสอบรูปแบบโค้ดโดยใช้ clang-format
  2. การทดสอบ 1 หน่วย
  3. การทดสอบฟังก์ชันกับ CLI, wpantund (ที่มี toranj) และ Pyspitl

OSS-Fuzz

Openthread ได้รับการทดสอบ Fuzz ด้วย OSS-Fuzz ในเทคนิคการทดสอบนี้ ระบบจะส่งอินพุตที่ไม่ถูกต้องและแบบสุ่มไปยังความถี่และปริมาณสูงของซอฟต์แวร์เพื่อค้นหาปัญหา เช่น ข้อมูลรั่วไหลหรือข้อขัดข้อง

ดูที่เก็บ OpenThread สําหรับเป้าหมายบิลด์ Fuzz ปัจจุบัน

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

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

แบบ Wireshark

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ เทรดรองรับใน Wireshark ได้ที่การดักจับพัสดุด้วย Pyspitl

ไพ่พิสซิล

Pysapisl เป็น CLIthon CLI สําหรับโปรโตคอล Ssprl ที่ใช้เพื่อกําหนดค่าและจัดการ OpenThread NCP หรือ RCP CLI นี้มีเป้าหมายเป็นการทดสอบ CI เป็นหลัก แต่ใช้ด้วยตนเองเพื่อทดสอบและทดสอบอินสแตนซ์โปรเซสเซอร์ OpenThread ได้

Pysapisl ใช้เพื่อทําสิ่งต่อไปนี้

  • เพิ่มการทดสอบตัวประมวลผลร่วมจําลองเพื่อการผสานรวมอย่างต่อเนื่อง
  • ทําการทดสอบ bedbing ที่ใช้เฟิร์มแวร์ของโปรเซสเซอร์ร่วมบนฮาร์ดแวร์โดยอัตโนมัติ
  • แก้ไขข้อบกพร่องบิลด์โปรเซสเซอร์ร่วมของ OpenThread
  • แปลงโปรเซสเซอร์ OpenThread เป็นนักดักจับแพ็กเก็ต

ดูข้อมูลเพิ่มเติมได้ใน README ในที่เก็บ Pysapisl