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

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