เริ่มต้นใช้งาน Firebase Test Lab สำหรับ iOS

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

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

แนวคิดและคำศัพท์หลัก

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

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

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

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

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

  • XCTest (รวมถึง XCUITests): การทดสอบหน่วยที่คุณเขียนขึ้นโดยใช้ เฟรมเวิร์ก XCTest ไปที่ สร้าง XCTest เพื่อดูวิธีการแก้ไข XCTest ให้ทำงานร่วมกับ Test Lab

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

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

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

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

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

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

ขั้นตอนที่ 2: เลือกเครื่องมือที่จะใช้เรียกใช้การทดสอบ

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

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

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

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

ขั้นตอนที่ 3: ระบุอุปกรณ์ทดสอบ

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

ขั้นตอนที่ 4: ตรวจสอบผลการทดสอบ

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

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

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

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

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

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

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


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

แอปบนอุปกรณ์เคลื่อนที่บางแอปต้องสื่อสารกับบริการแบ็กเอนด์ส่วนตัวเพื่อให้ทำงานได้อย่างถูกต้องระหว่างการทดสอบ หากเซิร์ฟเวอร์แบ็กเอนด์ได้รับการปกป้องด้วยกฎไฟร์วอลล์ คุณสามารถอนุญาตการเข้าถึงสำหรับ 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)