เริ่มทดสอบกับอุปกรณ์เสมือน 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 ทำงาน หรือก่อนการดึงข้อมูลแต่ละครั้ง ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Test Lab กับระบบ CI ได้ที่การใช้ Test Lab สําหรับ Android กับระบบการผสานรวมอย่างต่อเนื่อง

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

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

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

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

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

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

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

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

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

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

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