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

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

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