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

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

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 อุปกรณ์รุ่นใหม่ๆ ไม่รองรับ API ของ OpenGL/Vulkan 100% คุณอาจเห็นความแตกต่างเล็กน้อยในกราฟิก
แอป Google Play Store แอป Google Play Store ไม่รองรับอุปกรณ์เสมือน Arm
ฟังก์ชันการทำงานของ Augmented Reality (AR) ระบบไม่รองรับการทดสอบฟังก์ชันการทำงานของ Augmented Reality (AR) ในอุปกรณ์เสมือน
ระดับ API เก่ากว่า Test Lab อุปกรณ์เสมือน Arm ไม่รองรับระดับ API ที่ต่ำกว่า 26

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