เอกสารนี้อธิบาย 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 |