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