เอกสารนี้อธิบาย AVD สำหรับ Test Lab, รวมถึงสิทธิประโยชน์และข้อจำกัดที่ทราบ นอกจากนี้ เรายังให้คำแนะนำเกี่ยวกับวิธีทดสอบแอปตลอดวงจรการพัฒนา Test Lab AVD มี ลักษณะคล้ายกับ AVD สำหรับ Android Studio แต่ได้รับการปรับให้เหมาะกับประสิทธิภาพในการทดสอบระบบคลาวด์ จึงมีความแตกต่างกันเล็กน้อย
Test Lab AVD ของ Test Lab ที่มีคำต่อท้าย .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 ทำงาน หรือก่อน 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 ได้ที่ Android ABI
หมายเหตุ: หากการทดสอบในเมทริกซ์การทดสอบมีสถานะไม่ถูกต้อง อาจเป็นเพราะแอปของคุณต้องใช้โค้ดเนทีฟที่ ABI ของอุปกรณ์ไม่รองรับ |
| ประสิทธิภาพกราฟิก | อุปกรณ์เสมือน Nexus และ Pixel ใช้ การแสดงผลกราฟิกด้วยซอฟต์แวร์ แอปพลิเคชันที่ใช้กราฟิกจำนวนมากอาจมีประสิทธิภาพลดลง หากแอปของคุณใช้กราฟิกจำนวนมาก ให้ลองใช้ SmallPhone.arm, MediumPhone.arm หรืออุปกรณ์จริงแทน |
| Graphics API | อุปกรณ์ที่ต่ำกว่าระดับ API 29 ไม่รองรับ OpenGL ES 3.x อุปกรณ์รุ่นใหม่ไม่สามารถใช้งานร่วมกับ OpenGL/Vulkan API ได้ 100% คุณอาจสังเกตเห็นความแตกต่างเล็กน้อยในกราฟิก |
| แอป Google Play Store | อุปกรณ์เสมือน Arm ไม่รองรับแอป Google Play Store |
| ฟังก์ชันการทำงานของ Augmented Reality (AR) | อุปกรณ์เสมือนไม่รองรับการทดสอบฟังก์ชันการทำงานของ Augmented Reality (AR) |
| API ระดับเก่า | Test Lab อุปกรณ์เสมือน Arm ไม่รองรับ API ระดับต่ำกว่า 26 |