เริ่มการทดสอบสำหรับ Android ด้วย Firebase Test Lab

Firebase Test Lab ช่วยให้คุณทดสอบแอปในอุปกรณ์และ การกำหนดค่าที่หลากหลาย คู่มือเริ่มต้นใช้งานนี้จะแสดงเส้นทางการติดตั้งใช้งานที่คุณ ทำตามได้ รวมถึงแนะนำบริการของ Test Lab's สำหรับ Android

ดูข้อมูลเกี่ยวกับโควต้าและแพ็กเกจราคาของ Test Lab ได้ที่ การใช้งาน โควต้า และราคา

แนวคิดหลัก

เมื่อเรียกใช้การทดสอบหรือชุดกรณีทดสอบกับอุปกรณ์และการกำหนดค่า ที่คุณเลือก Test Lab จะเรียกใช้การทดสอบกับแอปของคุณเป็นชุด จากนั้น จะแสดงผลลัพธ์เป็นเมทริกซ์ทดสอบ

อุปกรณ์ × การดำเนินการทดสอบ = เมทริกซ์ทดสอบ

อุปกรณ์
อุปกรณ์จริงหรืออุปกรณ์เสมือนจริง (Android เท่านั้น) ที่คุณเรียกใช้การทดสอบ เช่น โทรศัพท์ แท็บเล็ต หรืออุปกรณ์ที่สวมใส่ได้ ระบบจะระบุอุปกรณ์ในเมทริกซ์ทดสอบตามรุ่นอุปกรณ์ เวอร์ชันของระบบปฏิบัติการ การวางแนวหน้าจอ และภาษา (หรือที่เรียกว่าการตั้งค่าภูมิศาสตร์และภาษา)
การทดสอบ การดำเนินการทดสอบ
การทดสอบ (หรือชุดกรณีทดสอบ) ที่จะเรียกใช้ในอุปกรณ์ คุณสามารถเรียกใช้การทดสอบ 1 รายการต่ออุปกรณ์ หรือจะแบ่งการทดสอบออกเป็นส่วนๆ และเรียกใช้กรณีทดสอบในอุปกรณ์ต่างๆ ก็ได้
เมทริกซ์ทดสอบ
มีสถานะและผลการทดสอบสำหรับการดำเนินการทดสอบ หากการดำเนินการทดสอบใดก็ตามในเมทริกซ์ล้มเหลว เมทริกซ์ทั้งหมดจะล้มเหลว

ขั้นตอนที่ 1: เตรียมการทดสอบสำหรับการอัปโหลดไปยัง Test Lab

ประเภทการทดสอบที่ใช้ได้

คุณสามารถเรียกใช้การทดสอบต่อไปนี้ด้วย Test Lab โปรดทราบว่าการทดสอบทุกประเภทจะจำกัดเวลาในการเรียกใช้ไว้ที่ 45 นาทีในอุปกรณ์จริงและ 60 นาทีในอุปกรณ์เสมือน ข้อยกเว้นที่ไม่ได้จัดการจะทำให้การทดสอบล้มเหลว

  • การทดสอบการวัดคุม หรือ การทดสอบหน่วยที่ใช้การวัดคุม: การทดสอบที่คุณเขียนขึ้นโดยใช้ Espresso หรือ UI Automator เฟรมเวิร์ก การทดสอบนี้ช่วยให้คุณยืนยันสถานะของแอปอย่างชัดเจนเพื่อตรวจสอบการทำงานที่ถูกต้องโดยใช้ AndroidJUnitRunnerAPIs

  • การทดสอบ Robo: การทดสอบอัตโนมัติที่จะวิเคราะห์ UI ของแอป จากนั้นจะสำรวจ UI อย่างเป็นระบบโดยจำลองกิจกรรมของผู้ใช้ โดยที่คุณไม่ต้องเขียนโค้ดใดๆ ดูข้อมูลเพิ่มเติมได้ที่ เกี่ยวกับการทดสอบ Robo

  • การทดสอบ Game Loop: การทดสอบที่ใช้ "โหมดเดโม" เพื่อ จำลองการกระทำของผู้เล่นในแอปเกม ซึ่งเป็นวิธีที่รวดเร็วและปรับขนาดได้เพื่อยืนยันว่าเกมทำงานได้ดีสำหรับผู้ใช้ เมื่อเลือกเรียกใช้การทดสอบ Game Loop คุณจะทำสิ่งต่อไปนี้ได้

    • เขียนการทดสอบที่เฉพาะเจาะจงกับเกมเอนจิน

    • หลีกเลี่ยงการเขียนโค้ดเดียวกันสำหรับ UI หรือเฟรมเวิร์กการทดสอบที่แตกต่างกัน

    • สร้างหลายๆ ลูปเพื่อเรียกใช้ในการดำเนินการทดสอบครั้งเดียว (ดูข้อมูลเพิ่มเติมได้ที่ เกี่ยวกับการทดสอบ Game Loop) นอกจากนี้ คุณยังจัดระเบียบลูปได้โดยใช้ป้ายกำกับเพื่อให้ติดตามและเรียกใช้ลูปที่เฉพาะเจาะจงซ้ำได้

    ดูวิธีการเรียกใช้การทดสอบนี้ ด้วย Test Labได้ที่เรียกใช้การทดสอบ Game Loop

เครื่องมือสำหรับเรียกใช้การทดสอบ

คุณเลือกเครื่องมือต่อไปนี้เพื่อเรียกใช้การทดสอบได้

  • แนะนำสำหรับผู้ใช้ครั้งแรก: คอนโซล Firebase ช่วยให้คุณอัปโหลด แอปและเริ่มการทดสอบจากเว็บเบราว์เซอร์ได้ ดูวิธีการเรียกใช้การทดสอบโดยใช้เครื่องมือนี้ได้ที่ ทดสอบด้วย Firebaseคอนโซล

  • การผสานรวม Android Studio ช่วยให้คุณทดสอบ แอปได้โดยไม่ต้องออกจากสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ดูวิธีการเรียกใช้การทดสอบโดยใช้เครื่องมือนี้ได้ที่ทดสอบด้วย Android Studio

  • อินเทอร์เฟซบรรทัดคำสั่ง gcloud ช่วยให้คุณเรียกใช้การทดสอบ จากบรรทัดคำสั่งแบบโต้ตอบได้ และยังเหมาะสำหรับการเขียนสคริปต์ซึ่งเป็น ส่วนหนึ่งของกระบวนการสร้างและทดสอบอัตโนมัติ ดูวิธีการเรียกใช้การทดสอบโดยใช้เครื่องมือนี้ได้ที่ทดสอบด้วย gcloud CLI

นอกจากนี้ คุณยังทดสอบแอปได้โดยไม่มีค่าใช้จ่ายด้วย Test Lab เมื่ออัปโหลดและ เผยแพร่ไฟล์ APK ของแอปไปยัง Play Store โดยใช้ช่องอัลฟ่าหรือ เบต้า ดูข้อมูลเพิ่มเติมได้ที่ ใช้รายงานก่อนการเปิดตัวเพื่อระบุปัญหา และการทดสอบ Robo

ขั้นตอนที่ 2: เลือกอุปกรณ์ทดสอบ

Test Lab รองรับการทดสอบในอุปกรณ์ Android หลายยี่ห้อและหลายรุ่นที่ติดตั้งและทำงานในศูนย์ข้อมูลของ Google การทดสอบใน อุปกรณ์ใน Test Lab ช่วยให้คุณตรวจพบปัญหาที่อาจไม่เกิดขึ้นเมื่อทดสอบ แอปโดยใช้โปรแกรมจำลองใน Android Studio ดูข้อมูลเพิ่มเติมได้ที่ อุปกรณ์ที่ใช้ได้

ขั้นตอนที่ 3: ดูผลการทดสอบ

ไม่ว่าคุณจะเริ่มการทดสอบด้วยวิธีใดก็ตาม Test Lab จะจัดการผลการทดสอบทั้งหมดและคุณสามารถดูผลการทดสอบทางออนไลน์ได้

ระบบจะจัดเก็บข้อมูลสรุปผลการทดสอบ โดยอัตโนมัติและคุณสามารถดูข้อมูลสรุปได้ในFirebase คอนโซล ข้อมูลสรุปนี้จะมีข้อมูลที่เกี่ยวข้องมากที่สุดสำหรับการทดสอบของคุณ ซึ่งรวมถึงวิดีโอที่เฉพาะเจาะจงกับกรณีทดสอบ ภาพหน้าจอ จำนวนการทดสอบที่ผ่าน ไม่ผ่าน หรือได้ผลลัพธ์ที่ไม่แน่นอน และอื่นๆ

ผลการทดสอบดิบ จะมีบันทึกการทดสอบและรายละเอียดข้อผิดพลาดของแอป และระบบจะจัดเก็บไว้ใน Bucket ของ Google Cloud โดยอัตโนมัติ หากคุณระบุ Bucket คุณจะต้องรับผิดชอบค่าใช้จ่ายในการจัดเก็บ หากไม่ระบุ Bucket Test Lab จะสร้าง Bucket ให้คุณโดยไม่มีค่าใช้จ่าย

ดูรายละเอียดเพิ่มเติมได้ที่ วิเคราะห์Firebase Test Labผลลัพธ์

เมื่อเริ่มการทดสอบจาก Android Studio คุณจะดูผลการทดสอบได้จากภายในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ด้วย

การล้างข้อมูลอุปกรณ์

Google ให้ความสำคัญกับความปลอดภัยของข้อมูลแอปเป็นอย่างมาก เราปฏิบัติตามแนวทางปฏิบัติแนะนำที่เป็นมาตรฐานอุตสาหกรรมเพื่อนำข้อมูลแอปออกและรีเซ็ตการตั้งค่าระบบสำหรับอุปกรณ์จริงหลังจากการเรียกใช้การทดสอบทุกครั้ง เพื่อให้มั่นใจว่าอุปกรณ์พร้อมที่จะเรียกใช้การทดสอบใหม่ สำหรับอุปกรณ์ที่เราสามารถแฟลชด้วยอิมเมจการกู้คืนที่กำหนดเองได้ เราจะดำเนินการแฟลชอุปกรณ์เหล่านี้ระหว่างการเรียกใช้การทดสอบ

สำหรับอุปกรณ์เสมือนจริงที่ Test Lab ใช้ ระบบจะลบอินสแตนซ์ของอุปกรณ์หลังจากใช้งานแล้ว เพื่อให้การเรียกใช้การทดสอบแต่ละครั้งใช้อินสแตนซ์ของอุปกรณ์เสมือนจริงใหม่


Test Lab และบริการ Google Play

Test Lab อุปกรณ์มักจะทำงานบน SDK ของ Google Play services เวอร์ชันล่าสุด แต่บางอุปกรณ์อาจต้องใช้เวลา 2-3 วันในการอัปเดตหลังจากมีการเผยแพร่ SDK เวอร์ชันใหม่ โปรดทราบว่าคุณอาจพบปัญหาความเข้ากันได้กับอุปกรณ์บางเครื่อง

การอนุญาตให้อุปกรณ์ทดสอบเข้าถึงเซิร์ฟเวอร์แบ็กเอนด์ส่วนตัว

แอปบนอุปกรณ์เคลื่อนที่บางแอปต้องสื่อสารกับบริการแบ็กเอนด์ส่วนตัวเพื่อให้ทำงานได้อย่างถูกต้องระหว่างการทดสอบ หากเซิร์ฟเวอร์แบ็กเอนด์ได้รับการปกป้องด้วยกฎไฟร์วอลล์ คุณสามารถอนุญาตการเข้าถึงสำหรับ Test Lab's อุปกรณ์จริงและอุปกรณ์เสมือนได้โดย ใช้ บล็อกของที่อยู่ IP ด้านล่าง เพื่อเปิดเส้นทางผ่านไฟร์วอลล์

การโฆษณาบนอุปกรณ์เคลื่อนที่

Test Lab มีโครงสร้างพื้นฐานที่รองรับการปรับขนาดได้ซึ่งทำให้การทดสอบแอปเป็นแบบอัตโนมัติ และน่าเสียดายที่แอปที่เป็นอันตรายซึ่งออกแบบมาเพื่อสร้างรายได้จากโฆษณาที่เป็นการฉ้อโกงอาจใช้ความสามารถนี้ในทางที่ผิด

วิธีลดปัญหานี้

  • หากคุณใช้หรือทำงานร่วมกับผู้ให้บริการโฆษณาดิจิทัลบุคคลที่สาม (เช่น เครือข่ายโฆษณาหรือแพลตฟอร์มฝั่งดีมานด์) เราขอแนะนำให้ใช้โฆษณาทดสอบแทนโฆษณาจริงระหว่างการพัฒนาและการทดสอบแอป

  • หากคุณต้องใช้โฆษณาจริงในการทดสอบ โปรดแจ้งให้ผู้ให้บริการโฆษณาดิจิทัล ที่คุณทำงานด้วยกรองรายได้และการเข้าชมที่เกี่ยวข้องทั้งหมด ที่สร้างขึ้นจาก Test Lab โดยใช้ บล็อกของที่อยู่ IP ด้านล่าง คุณไม่จำเป็นต้อง แจ้งให้ผู้ให้บริการโฆษณาที่เป็นเจ้าของโดย Google ทราบ เนื่องจากTest Labจะจัดการให้คุณ

ที่อยู่ IP ที่อุปกรณ์ Test Lab ใช้

การจราจรของข้อมูลในเครือข่ายทั้งหมดที่สร้างขึ้นโดยอุปกรณ์ Test Lab จะมาจากบล็อกของที่อยู่ IP ต่อไปนี้ นอกจากนี้ คุณยังเข้าถึงรายการนี้ได้โดยใช้ gcloud beta firebase test ip-blocks list คำสั่ง ใน gcloud CLI ระบบจะอัปเดตรายการนี้ปีละครั้งโดยเฉลี่ย

แพลตฟอร์มและประเภทอุปกรณ์ บล็อกของที่อยู่ IP CIDR
อุปกรณ์จริง Android และ iOS, อุปกรณ์เสมือน Arm

70.32.128.0/19 (เพิ่มเมื่อ 02-2022)

108.177.6.0/23

108.177.18.192/26 (เพิ่มเมื่อ 02-2022)

108.177.29.64/27 (ขยายเมื่อ 02-2022)

108.177.31.160/27 (เพิ่มเมื่อ 02-2022)

199.36.156.8/29 (เพิ่มเมื่อ 02-2022)

199.36.156.16/28 (เพิ่มเมื่อ 02-2022)

209.85.131.0/27 (เพิ่มเมื่อ 02-2022)

2001:4860:1008::/48 (เพิ่มเมื่อ 02-2022)

2001:4860:1018::/48 (เพิ่มเมื่อ 02-2022)

2001:4860:1019::/48 (เพิ่มเมื่อ 02-2022)

2001:4860:1020::/48 (เพิ่มเมื่อ 02-2022)

2001:4860:1022::/48 (เพิ่มเมื่อ 02-2022)

2001:4860:101d::/48 (เพิ่มเมื่อ 10-2025)

2001:4860:101e::/48 (เพิ่มเมื่อ 10-2025)

2001:4860:1031::/48 (เพิ่มเมื่อ 10-2025)

70.32.128.48/28 (เพิ่มเมื่อ 04-2024)

70.32.150.192/27 (เพิ่มเมื่อ 09-2025)

108.177.6.0/27 (เพิ่มเมื่อ 09-2025)

108.177.24.160/27 (เพิ่มเมื่อ 09-2025)

108.177.29.0/27 (เพิ่มเมื่อ 09-2025)

108.177.25.128/27 (เพิ่มเมื่อ 05-2026)

108.177.26.128/26 (เพิ่มเมื่อ 05-2026)

108.177.29.192/26 (เพิ่มเมื่อ 05-2026)

172.217.120.64/26 (เพิ่มเมื่อ 05-2026)

172.217.120.128/26 (เพิ่มเมื่อ 05-2026)

2001:4860:1037::/48 (เพิ่มเมื่อ 05-2026)

2001:4860:1038::/48 (เพิ่มเมื่อ 05-2026)

2001:4860:103a::/48 (เพิ่มเมื่อ 05-2026)

อุปกรณ์ Android เสมือนจริง (ที่ไม่ใช่ Arm)

34.68.194.64/29 (เพิ่มเมื่อ 11-2019)

34.69.234.64/29 (เพิ่มเมื่อ 11-2019)

34.73.34.72/29 (เพิ่มเมื่อ 11-2019)

34.73.178.72/29 (เพิ่มเมื่อ 11-2019)

34.74.10.72/29 (เพิ่มเมื่อ 02-2022)

34.136.2.136/29 (เพิ่มเมื่อ 02-2022)

34.136.50.136/29 (เพิ่มเมื่อ 02-2022)

34.145.234.144/29 (เพิ่มเมื่อ 02-2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (เพิ่มเมื่อ 7-2019)

35.245.243.240/29 (เพิ่มเมื่อ 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

บล็อกของที่อยู่ IP ของอุปกรณ์ที่ไม่ได้ใช้อีกต่อไป

74.125.122.32/29 (นำออกเมื่อ 02-2022)

216.239.44.24/29 (นำออกเมื่อ 02-2022)