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