เริ่มทดสอบกับอุปกรณ์เสมือน Android

เอกสารนี้อธิบายเกี่ยวกับ AVD สำหรับ Test Lab รวมถึงประโยชน์และข้อจำกัดที่ทราบ นอกจากนี้ เรายังมีคำแนะนำเกี่ยวกับวิธีทดสอบแอปตลอดวงจรการพัฒนาด้วย Test Lab AVD คล้ายกับ AVD สำหรับ Android Studio แต่ได้รับการเพิ่มประสิทธิภาพสำหรับการทดสอบในระบบคลาวด์ จึงมีความแตกต่างกันเล็กน้อยระหว่างทั้ง 2 อย่าง

Test Lab AVD ที่มีคำต่อท้าย .arm หรือ (Arm) เป็นโปรแกรมจำลองขั้นสูงซึ่งมีประโยชน์ดังต่อไปนี้

  • เวลาในการดำเนินการทดสอบที่รวดเร็วยิ่งขึ้น

  • ขนาดและความหนาแน่นของหน้าจอที่สอดคล้องกับ AVD ของ Android Studio เพื่อความสอดคล้องกัน

  • กราฟิกที่เร่งด้วย GPU ที่รองรับ

ตารางต่อไปนี้อธิบายประโยชน์ของการใช้อุปกรณ์เสมือนจริง

ประโยชน์ คำอธิบาย กรณีการใช้งาน
ความพร้อมใช้งานสูง คุณสามารถทำการทดสอบและรับผลการทดสอบได้เร็วขึ้นเมื่อทดสอบด้วยอุปกรณ์เสมือนจริง เนื่องจากอุปกรณ์เสมือนจริงสร้างขึ้นตามความต้องการ การทดสอบจึงเริ่มขึ้นเกือบจะทันที ซึ่งช่วยให้ตรวจสอบแอปได้อย่างรวดเร็ว การทดสอบการอัปเดตเล็กๆ น้อยๆ ในแอป หรือการทดสอบการเกิดปัญหาซ้ำ
ระยะเวลาการทดสอบที่นานขึ้น อุปกรณ์เสมือนจริงรองรับระยะเวลาการทดสอบสูงสุด 60 นาที การทดสอบในอุปกรณ์จริงจำกัดระยะเวลาการทดสอบไว้ที่ 45 นาทีในแต่ละอุปกรณ์ การทดสอบที่ใช้เวลานานขึ้น
ลดค่าใช้จ่าย อุปกรณ์เสมือนจริงมีราคา $1 ต่อชั่วโมงสำหรับอุปกรณ์เสมือนจริงแต่ละเครื่องที่ใช้ทดสอบแอป การทดสอบรายวันโดยใช้ระบบการรวมอย่างต่อเนื่อง หรือก่อนตรวจสอบโค้ด ดูข้อมูลเพิ่มเติมได้ที่ระดับการใช้งาน โควต้า และราคาสำหรับ Test Lab

ทดสอบแอปด้วยอุปกรณ์เสมือนจริง

คุณทดสอบแอปด้วยอุปกรณ์เสมือนจริงได้ในลักษณะเดียวกับการทดสอบด้วยอุปกรณ์จริง คุณสามารถเลือกอุปกรณ์เสมือนจริงสำหรับการทดสอบได้เมื่อกำหนดค่าเมทริกซ์ทดสอบ ดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบด้วย Test Lab ได้ที่เริ่มต้นการทดสอบสำหรับ Android ด้วย Firebase Test Lab

ดูโมเดลและ API ที่รองรับ

หากต้องการดูโมเดล AVD และ API ที่ Test Lab รองรับ ให้เรียกใช้คำสั่งต่อไปนี้

gcloud firebase test android models list --filter=virtual

แนวทางปฏิบัติแนะนำสำหรับการทดสอบแอป

อุปกรณ์เสมือนจริงช่วยเพิ่มตัวเลือกให้คุณเมื่อทดสอบแอปด้วย Test Lab เราขอแนะนำให้ใช้แนวทางปฏิบัติแนะนำต่อไปนี้เพื่อทดสอบแอปตลอดวงจรการพัฒนาแอป

ใช้โปรแกรมจำลอง Android Studio หรืออุปกรณ์จริงที่เชื่อมต่ออยู่

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

ใช้ระบบ CI กับการเปลี่ยนแปลงโค้ดแต่ละครั้งเมื่อทำงานในโปรเจ็กต์ที่แชร์

หากคุณทำงานในโปรเจ็กต์ขนาดใหญ่ หรือมีส่วนร่วมในโปรเจ็กต์ที่แชร์โดยใช้ GitHub หรือเว็บไซต์ที่คล้ายกัน เราขอแนะนำให้ใช้ระบบการรวมอย่างต่อเนื่อง (CI) ทดสอบแอปในอุปกรณ์เสมือนจริงทุกครั้งที่ระบบ CI ทำงาน หรือก่อน Pull Request แต่ละครั้ง ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Test Lab กับระบบ CI ได้ที่การใช้ Test Lab สำหรับ Android กับระบบการรวมอย่างต่อเนื่อง

ทดสอบแอปบนอุปกรณ์จริงด้วย Test Lab ก่อนเผยแพร่การอัปเดตแอปที่สำคัญ

ก่อนที่จะเผยแพร่อัปเดตแอปที่มีการเปลี่ยนแปลงที่สำคัญใน UI และฟังก์ชันการทำงาน เราขอแนะนำให้ใช้ Test Lab เพื่อทดสอบแอปในอุปกรณ์จริง ซึ่งจะช่วยให้มั่นใจว่าแอปของคุณมีความเสถียรและมีประสิทธิภาพในอุปกรณ์จริงยอดนิยมที่หลากหลาย การทดสอบในอุปกรณ์จริงยังช่วยให้มั่นใจได้ว่าการทดสอบจะครอบคลุมฟังก์ชันการทำงานของแอปที่อาศัยฟีเจอร์ของอุปกรณ์จริงซึ่งอุปกรณ์เสมือนจริงจำลองไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์เหล่านี้ได้ที่ข้อจำกัดที่ทราบ

การอัปเดตอุปกรณ์เสมือนจริง

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

ในบางกรณีที่เกิดขึ้นไม่บ่อยนัก การอัปเดตเหล่านี้อาจทำให้การทดสอบไม่สำเร็จโดยไม่คาดคิด เมื่อมีการอัปเดตที่อาจทำให้เกิดข้อผิดพลาด Test Lab จะระบุข้อมูลไว้ในบันทึกประจำรุ่น แนวทางปฏิบัติแนะนำคือให้ใช้เฟรมเวิร์กการทดสอบ เช่น Espresso ซึ่งมีประสิทธิภาพต่อการเปลี่ยนแปลงเหล่านี้ทุกครั้งที่ทำได้ หากเป็นไปไม่ได้ เราขอแนะนำให้คุณกำหนดเป้าหมายอุปกรณ์เสมือนจริง Arm ซึ่งคุณอาจคาดหวังว่าจะอัปเดตไม่บ่อยนัก

ข้อจำกัดที่ทราบ

ปัจจุบันอุปกรณ์เสมือนจริงไม่ได้จำลองฟีเจอร์บางอย่างของอุปกรณ์จริง หรือจำลองโดยมีข้อจำกัดบางอย่าง ตารางต่อไปนี้สรุปฟีเจอร์ที่ยังไม่พร้อมใช้งานในอุปกรณ์เสมือนจริง หรือพร้อมใช้งานแต่มีข้อจำกัดบางอย่าง

ฟีเจอร์ รายละเอียด
Application Binary Interface (ABI) อุปกรณ์บางรุ่นอาจไม่รองรับ ABI บางรายการ หากคุณกำลังพัฒนาด้วย Android NDK โปรดตรวจสอบว่าได้สร้างโค้ดสำหรับ ABI ที่อุปกรณ์เป้าหมายรองรับ (ดูอุปกรณ์ที่ใช้ได้ใน Test Lab) ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ ABI ได้ที่ Android ABI

หมายเหตุ: หากการทดสอบในเมทริกซ์ทดสอบมีสถานะเป็น "ไม่ถูกต้อง" อาจเป็นเพราะแอปของคุณขึ้นอยู่กับโค้ดแบบเนทีฟที่ ABI ของอุปกรณ์ไม่รองรับ

ประสิทธิภาพกราฟิก อุปกรณ์เสมือนจริง Nexus และ Pixel ใช้การแสดงผลกราฟิกซอฟต์แวร์ แอปพลิเคชันที่ใช้กราฟิกสูงอาจมีประสิทธิภาพลดลง หากแอปใช้กราฟิกจำนวนมาก ให้พิจารณาใช้ SmallPhone.arm, MediumPhone.arm หรืออุปกรณ์จริงแทน
Graphics API อุปกรณ์ที่ต่ำกว่าระดับ API 29 ไม่รองรับ OpenGL ES 3.x อุปกรณ์รุ่นใหม่ไม่รองรับ API ของ OpenGL/Vulkan 100% คุณอาจสังเกตเห็นความแตกต่างเล็กน้อยในกราฟิก
แอป Google Play Store อุปกรณ์เสมือนจริง Arm ไม่รองรับแอป Google Play Store
ฟังก์ชันการทำงานของเทคโนโลยีความจริงเสริม (AR) อุปกรณ์เสมือนจริงไม่รองรับการทดสอบฟังก์ชันการทำงานของเทคโนโลยีความจริงเสริม (AR)
ระดับ API ที่เก่ากว่า อุปกรณ์เสมือนจริง Arm Test Lab เครื่องไม่รองรับระดับ API ที่ต่ำกว่า 26

ขั้นตอนถัดไป