แอป 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 และจะมีการไฮไลต์รายละเอียดเพิ่มเติมในส่วนต่อไปนี้
การทดสอบการทำงาน
คุณอาจต้องให้ความสำคัญกับบางส่วนต่อไปนี้เป็นพิเศษ ทั้งนี้ขึ้นอยู่กับความสามารถของแอป
- การค้นหาและการจับคู่อุปกรณ์ รวมถึงการตั้งค่าและการจับคู่เริ่มต้นกับ อุปกรณ์ใหม่ การค้นหาอุปกรณ์ที่มีอยู่ซ้ำหลังจากรีสตาร์ทแอป การรีบูต อุปกรณ์ หรือการเปลี่ยนแปลงเครือข่าย นอกจากนี้ ให้ตรวจสอบสถานการณ์ต่างๆ เช่น อุปกรณ์ที่ไม่ตอบสนอง หรือผู้ใช้ป้อนข้อมูลเข้าสู่ระบบที่ไม่ถูกต้อง
- การซิงค์สถานะเพื่อให้แน่ใจว่าแอปจะอัปเดตเพื่อแสดงสถานะปัจจุบันได้อย่างถูกต้อง อย่างทันท่วงที
- วิธีจัดการและบังคับใช้สิทธิ์ โดยเฉพาะอย่างยิ่งหากแอปของคุณรองรับ ผู้ใช้หลายคนหรือการเข้าถึงบ้านที่แชร์ ซึ่งรวมถึงการยืนยันว่าแอปของคุณ จัดการสิทธิ์ที่ถูกเพิกถอนได้อย่างเหมาะสม
- หากแอปของคุณรองรับฉาก เช่น ฉาก "ราตรีสวัสดิ์" ที่ปิดไฟทั้งหมด ให้ทดสอบการสร้าง การแก้ไข และการดำเนินการฉาก ทดสอบ การทำงานอัตโนมัติ รวมถึงเงื่อนไขเริ่มต้นและการดำเนินการ
การทดสอบประสิทธิภาพ
ตรวจสอบว่าแอปตอบสนองและไม่มี เวลาในการตอบสนองที่ไม่จำเป็น หากเป็นไปได้ ให้ทดสอบกับอุปกรณ์จำนวนมากเพื่อประเมินความสามารถในการปรับขนาด และประสิทธิภาพของแอปภายใต้ภาระงาน นอกจากนี้ ให้ดูการใช้ CPU, หน่วยความจำ และแบตเตอรี่ของแอปด้วย โดยเฉพาะอย่างยิ่งในระหว่างการสื่อสารกับอุปกรณ์ที่ใช้งานอยู่ เพื่อดูว่าการใช้ทรัพยากรของแอปสมเหตุสมผลหรือไม่
การทดสอบความน่าเชื่อถือและความเสถียร
เนื่องจากแอป Home API ต้องอาศัยการเชื่อมต่อเครือข่าย จึงควรทดสอบแอปกับสถานการณ์ต่อไปนี้
- ความผันผวนของเครือข่าย
- จำลองการหลุดของ Wi-Fi สัญญาณอ่อน และการสลับเครือข่าย
- ตรวจสอบว่าแอปจัดการการยกเลิกการเชื่อมต่อและการเชื่อมต่อใหม่ได้อย่างราบรื่น
- ตรวจสอบว่าคําสั่งเข้าคิวและดําเนินการเมื่อการเชื่อมต่อกลับมาทํางานอีกครั้ง หรือ แสดงข้อความแสดงข้อผิดพลาดที่เหมาะสม
- ทดสอบแอปจากเครือข่ายระยะไกล ไม่ใช่แค่จากเครือข่ายในบ้าน
- การยกเลิกการเชื่อมต่ออุปกรณ์
- ถอดปลั๊กอุปกรณ์
- ปิดอุปกรณ์แล้วเปิดใหม่
- การดำเนินการพร้อมกัน
- ส่งลำดับคำสั่งอย่างรวดเร็ว
- ให้ผู้ใช้หลายคนลองควบคุมอุปกรณ์เดียวกันพร้อมกัน
- ทดสอบฉากและการทำงานอัตโนมัติที่ทับซ้อนกัน
- การจัดการข้อผิดพลาด
- บังคับให้เกิดข้อผิดพลาดของ API เช่น โดยการจำลองการตอบกลับของเซิร์ฟเวอร์ Cloud API
- ทดสอบอินพุตที่ไม่ถูกต้องจากผู้ใช้
- ยืนยันการลดระดับอย่างราบรื่นและข้อความแสดงข้อผิดพลาดที่ให้ข้อมูล
- ความน่าเชื่อถือ - เรียกใช้แอปและอุปกรณ์ที่เชื่อมต่อเป็นระยะเวลานานเพื่อค้นหาปัญหาหน่วยความจำรั่วหรือปัญหาความเสถียรที่อาจเกิดขึ้น