เริ่มทดสอบกับอุปกรณ์เสมือน 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 ที่รองรับ

หากต้องการดูโมเดลและ API ของ AVD ที่ 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 ซึ่งคุณคาดว่าจะอัปเดตไม่บ่อยนัก

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

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

ฟีเจอร์ รายละเอียด
อินเทอร์เฟซแบบไบนารีของแอปพลิเคชัน (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
ฟังก์ชันการทำงานของเทคโนโลยีความจริงเสริม (AR) อุปกรณ์เสมือนไม่รองรับการทดสอบฟังก์ชันความเป็นจริงเสริม (AR)
ระดับ API ที่เก่ากว่า Test Lab อุปกรณ์เสมือน Arm ไม่รองรับ API ระดับต่ำกว่า 26

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