ทดสอบแอป

แอป Home APIs มีข้อควรพิจารณาและความท้าทายเฉพาะตัว ซึ่งแตกต่างจากแอป Android ประเภทอื่นๆ รวมถึงการขึ้นอยู่กับอุปกรณ์สมาร์ทโฮมจริง ความน่าเชื่อถือของเครือข่าย ความปลอดภัยและความเป็นส่วนตัว ตลอดจนการทำงานร่วมกันของอุปกรณ์และโปรโตคอล ความแตกต่างเหล่านี้ส่งผลต่อการทดสอบ

ตั้งค่าสภาพแวดล้อมการทดสอบ

สภาพแวดล้อมการทดสอบที่มีประสิทธิภาพเป็นสิ่งสำคัญอย่างยิ่งสำหรับการทดสอบแอป Home APIs

การแยกอุปกรณ์ทดสอบ Home API ในเครือข่าย Wi-Fi เฉพาะเป็นกลยุทธ์ที่ดี ซึ่งจะช่วยป้องกันการรบกวนจากอุปกรณ์อื่นๆ และให้คุณจำลอง สภาวะเครือข่ายต่างๆ เช่น แบนด์วิดท์ที่ถูกจำกัด

คุณจะต้องทดสอบโดยใช้อุปกรณ์สมาร์ทโฮมหลายประเภทจากผู้ผลิตที่หลากหลาย อย่าลืมทดสอบกับอุปกรณ์จริง อุปกรณ์เสมือนและโปรแกรมจำลองมีประโยชน์ แต่ไม่ควรใช้เพียงอย่างเดียว

ในทำนองเดียวกัน การทดสอบแอปกับอุปกรณ์ Android ที่หลากหลายจากผู้ผลิตหลายรายที่มีขนาดหน้าจอแตกต่างกัน และใช้ Android เวอร์ชันต่างๆ จะช่วยยืนยันความเข้ากันได้ที่กว้างขึ้น

เตรียมเครื่องมือ

เครื่องมือต่อไปนี้มีประโยชน์ในการทดสอบแอป Home APIs

เครื่องมือ คำอธิบาย
Google Home Plugin for Android Studio ให้สิทธิ์เข้าถึง Google Assistant Simulator, Home Graph Viewer, Google Cloud Logging และโปรแกรมดูบันทึกของ Android Debug Bridge (adb)
Google Home Playground ไม่ใช่การทดแทนการทดสอบกับอุปกรณ์จริง แต่มีประโยชน์อย่างมากในสถานการณ์การทดสอบหลายอย่าง
Matter Virtual Device (MVD) แอปจำลองอีกแอปหนึ่งที่อาจมีประโยชน์เมื่อทดสอบกับอุปกรณ์ Matter ในแอป Home APIs
Espresso ช่วยให้คุณทำการทดสอบ UI โดยอัตโนมัติได้ คุณต้องจำลอง API พื้นฐาน เพื่อจำลองการโต้ตอบกับฮาร์ดแวร์
โปรแกรมจำลองเครือข่าย ช่วยให้คุณจำลองสภาพเครือข่ายและการตอบกลับของ API ที่แตกต่างกันได้ ซึ่งจะมีประโยชน์อย่างยิ่งหาก Home API ใช้แบ็กเอนด์ระบบคลาวด์
Logcat ของ Android Studio จัดการและวิเคราะห์ข้อมูลบันทึก

ใช้แนวทางการทดสอบและกลยุทธ์ที่แตกต่างกัน

คุณควรใช้วิธีการทดสอบที่หลากหลายกับแอป Home API สำหรับข้อมูลทั่วไปเกี่ยวกับวิธีการต่างๆ โปรดดูทดสอบแอปใน Android นอกเหนือจากการทดสอบประสบการณ์ของผู้ใช้และความปลอดภัยที่คาดหวังให้แอป Android ทั้งหมด ดำเนินการแล้ว การทดสอบบางด้านมีความเกี่ยวข้องเป็นพิเศษกับ แอป Home APIs และมีการไฮไลต์รายละเอียดเพิ่มเติมในส่วนต่อไปนี้

การทดสอบการทำงาน

คุณอาจต้องให้ความสนใจเป็นพิเศษกับบางส่วนต่อไปนี้ ทั้งนี้ขึ้นอยู่กับความสามารถของแอป

  1. การค้นหาและการจับคู่อุปกรณ์ รวมถึงการตั้งค่าและการจับคู่เริ่มต้นกับ อุปกรณ์ใหม่ การค้นหาอุปกรณ์ที่มีอยู่ซ้ำหลังจากรีสตาร์ทแอป การรีบูต อุปกรณ์ หรือการเปลี่ยนแปลงเครือข่าย นอกจากนี้ ให้ตรวจสอบสถานการณ์ต่างๆ เช่น อุปกรณ์ที่ไม่ตอบสนอง หรือผู้ใช้ป้อนข้อมูลเข้าสู่ระบบที่ไม่ถูกต้อง
  2. การซิงค์สถานะเพื่อให้แน่ใจว่าแอปจะอัปเดตเพื่อแสดงสถานะปัจจุบันอย่างถูกต้อง ในเวลาที่เหมาะสม
  3. วิธีจัดการและบังคับใช้สิทธิ์ โดยเฉพาะอย่างยิ่งหากแอปของคุณรองรับ ผู้ใช้หลายคนหรือการเข้าถึงบ้านที่แชร์ ซึ่งรวมถึงการยืนยันว่าแอปของคุณ จัดการสิทธิ์ที่ถูกเพิกถอนได้อย่างเหมาะสม
  4. หากแอปของคุณรองรับฉาก เช่น ฉาก "ราตรีสวัสดิ์" ที่ปิดไฟทั้งหมด ให้ทดสอบการสร้าง การแก้ไข และการดำเนินการฉาก ทดสอบ การทำงานอัตโนมัติ รวมถึงเงื่อนไขเริ่มต้นและการดำเนินการ

การทดสอบประสิทธิภาพ

ตรวจสอบว่าแอปของคุณตอบสนองได้ดีและไม่มี เวลาในการตอบสนองที่ไม่จำเป็น หากเป็นไปได้ ให้ทดสอบกับอุปกรณ์จำนวนมากเพื่อประเมินความสามารถในการปรับขนาด และประสิทธิภาพของแอปภายใต้ภาระงาน นอกจากนี้ ให้ดูการใช้ CPU, หน่วยความจำ และแบตเตอรี่ของแอปด้วย โดยเฉพาะอย่างยิ่งในระหว่างการสื่อสารกับอุปกรณ์ที่ใช้งานอยู่ เพื่อดูว่าการใช้ทรัพยากรของแอปสมเหตุสมผลหรือไม่

การทดสอบความน่าเชื่อถือและความเสถียร

เนื่องจากแอป Home API ต้องอาศัยการเชื่อมต่อเครือข่าย จึงควรทดสอบแอปกับสถานการณ์ต่อไปนี้

  1. ความผันผวนของเครือข่าย
    • จำลองการหลุดของ Wi-Fi สัญญาณอ่อน และการสลับเครือข่าย
    • ตรวจสอบว่าแอปของคุณจัดการการยกเลิกการเชื่อมต่อและการเชื่อมต่อใหม่ได้อย่างราบรื่น
    • ตรวจสอบว่าคำสั่งเข้าคิวและดำเนินการเมื่อการเชื่อมต่อกลับมาเป็นปกติ หรือ แสดงข้อความแสดงข้อผิดพลาดที่เหมาะสม
    • ทดสอบแอปจากเครือข่ายระยะไกล ไม่ใช่แค่จากเครือข่ายในบ้าน
  2. การยกเลิกการเชื่อมต่ออุปกรณ์
    • ถอดปลั๊กอุปกรณ์
    • ปิดอุปกรณ์แล้วเปิดใหม่
  3. การดำเนินการพร้อมกัน
    • ส่งลำดับคำสั่งอย่างรวดเร็ว
    • ให้ผู้ใช้หลายคนลองควบคุมอุปกรณ์เดียวกันพร้อมกัน
    • ทดสอบฉากและการทำงานอัตโนมัติที่ทับซ้อนกัน
  4. การจัดการข้อผิดพลาด
    • บังคับให้เกิดข้อผิดพลาดของ API เช่น โดยการจำลองการตอบกลับของเซิร์ฟเวอร์ Cloud API
    • ทดสอบอินพุตที่ไม่ถูกต้องจากผู้ใช้
    • ยืนยันการลดระดับอย่างราบรื่นและข้อความแสดงข้อผิดพลาดที่ให้ข้อมูล
  5. ความน่าเชื่อถือ - เรียกใช้แอปและอุปกรณ์ที่เชื่อมต่อเป็นระยะเวลานานเพื่อค้นหาปัญหาการรั่วไหลของหน่วยความจำหรือความเสถียรที่อาจเกิดขึ้น