Firebase Test Lab ให้คุณทดสอบคุณภาพแอปในอุปกรณ์และการกำหนดค่าแบบต่างๆ คู่มือนี้จะให้ภาพรวมของแนวคิดหลักของ Test Lab, ข้อเสนอสำหรับ iOS และวิธีเริ่มทดสอบ
ดูข้อมูลเกี่ยวกับโควต้าและแผนการตั้งราคาของ Test Lab ได้ที่การใช้งาน โควต้า และราคา
แนวคิดหลักและคำศัพท์
เมื่อคุณเรียกใช้การทดสอบหรือชุดกรอบการทดสอบกับอุปกรณ์และการกำหนดค่าที่เลือกไว้ Test Lab จะทำการทดสอบกับแอปเป็นกลุ่ม จากนั้นแสดงผลเป็นเมทริกซ์ทดสอบ
อุปกรณ์ × การดำเนินการทดสอบ = เมทริกซ์ทดสอบ
- อุปกรณ์
- อุปกรณ์จริงหรืออุปกรณ์เสมือน (Android เท่านั้น) ที่คุณทำการทดสอบ เช่น โทรศัพท์ แท็บเล็ต หรืออุปกรณ์ที่สวมใส่ได้ อุปกรณ์ในเมทริกซ์ทดสอบจะระบุตามรุ่นอุปกรณ์ เวอร์ชันระบบปฏิบัติการ การวางแนวหน้าจอ และภาษา (หรือที่เรียกว่าการตั้งค่าภูมิศาสตร์และภาษา)
- การทดสอบ การดำเนินการทดสอบ
- การทดสอบ (หรือชุดกรอบการทดสอบ) สำหรับใช้ในอุปกรณ์ คุณทำการทดสอบได้ 1 รายการต่ออุปกรณ์ หรือเลือกที่จะชาร์ดการทดสอบและเรียกใช้กรอบการทดสอบในอุปกรณ์ที่แตกต่างกันก็ได้
- เมทริกซ์ทดสอบ
- มีสถานะและผลการทดสอบสำหรับการดำเนินการทดสอบ หากการดำเนินการทดสอบใดๆ ในเมทริกซ์ล้มเหลว เมทริกซ์ทั้งหมดจะล้มเหลว
ขั้นตอนที่ 1: เตรียมการทดสอบสำหรับการอัปโหลดไปยัง Test Lab
คุณทำการทดสอบต่อไปนี้ได้ด้วย Test Lab โปรดทราบว่าการทดสอบทุกประเภทอาจใช้เวลานานสุด 45 นาทีในอุปกรณ์จริง และข้อยกเว้นที่ตรวจไม่พบจะทำให้การทดสอบล้มเหลว
XCTest (รวมถึง XCUITests): การทดสอบ 1 หน่วยที่คุณเขียนโดยใช้เฟรมเวิร์ก XCTest ไปที่สร้าง XCTest เพื่อดูวิธีแก้ไข XCTest ให้ทำงานกับ Test Lab
การทดสอบ Game Loop: การทดสอบที่ใช้ "โหมดสาธิต" เพื่อจำลองการทำงานของผู้เล่นในแอปเกม วิธีนี้เป็นวิธีที่รวดเร็วและรองรับการปรับขนาด ในการยืนยันว่าเกมของคุณทำงานได้ดีสำหรับผู้ใช้ เมื่อคุณเลือกทำการทดสอบ Game Loop คุณสามารถทำสิ่งต่อไปนี้ได้
เขียนการทดสอบในเครื่องเกมของคุณ
หลีกเลี่ยงการเขียนโค้ดเดียวกันสำหรับ UI หรือเฟรมเวิร์กการทดสอบที่แตกต่างกัน
สร้างลูปหลายรายการเพื่อเรียกใช้ในการดำเนินการทดสอบเดียว นอกจากนี้คุณยังจัดระเบียบการวนซ้ำได้โดยใช้ป้ายกำกับ เพื่อให้คุณติดตามการวนซ้ำและเรียกใช้การวนซ้ำที่เฉพาะเจาะจงได้
ไปที่เรียกใช้การทดสอบ Game Loop เพื่อดูวิธีทำการทดสอบใน Test Lab
ขั้นตอนที่ 2: เลือกเครื่องมือเพื่อทำการทดสอบ
คุณเลือกเครื่องมือต่อไปนี้เพื่อทำการทดสอบได้
คอนโซล Firebase ช่วยให้คุณอัปโหลดแอปและเริ่มการทดสอบได้จากทุกที่ โปรดดูวิธีการใช้เครื่องมือนี้ในทดสอบด้วยคอนโซล Firebase
อินเทอร์เฟซบรรทัดคำสั่ง gcloud (CLI) ช่วยให้คุณเรียกใช้การทดสอบจากบรรทัดคำสั่งได้แบบอินเทอร์แอกทีฟ และยังเหมาะสำหรับการเขียนสคริปต์โดยเป็นส่วนหนึ่งของกระบวนการบิลด์และการทดสอบอัตโนมัติด้วย โปรดดูวิธีการใช้เครื่องมือนี้ในหัวข้อทดสอบด้วย gcloud CLI
ก่อนทดสอบในอุปกรณ์จริง ให้เรียกใช้การทดสอบในเครื่องจำลองเพื่อให้แน่ใจว่าระบบทำงานตามที่ต้องการ โปรดดูวิธีทดสอบในเครื่อง
ขั้นตอนที่ 3: ระบุอุปกรณ์ทดสอบ
เมื่อใช้ Test Lab คุณจะทำการทดสอบกับแอปในอุปกรณ์ iOS และรุ่นต่างๆ มากมายที่โฮสต์อยู่ในศูนย์ข้อมูลของ Google ได้ ดูข้อมูลเพิ่มเติมได้ที่อุปกรณ์ที่ใช้ได้
ขั้นตอนที่ 4: ตรวจสอบผลการทดสอบ
ไม่ว่าคุณจะเริ่มการทดสอบอย่างไร ผลการทดสอบทั้งหมดจะได้รับการจัดการโดย Test Lab และสามารถดูผลการทดสอบได้ทางออนไลน์
สรุปผลการทดสอบจะได้รับการจัดเก็บโดยอัตโนมัติ และคุณสามารถดูได้ในคอนโซล Firebase โดยจะมีข้อมูลที่เกี่ยวข้องกับการทดสอบของคุณมากที่สุด ได้แก่ วิดีโอทดสอบเกี่ยวกับกรอบการทำงาน ภาพหน้าจอ จำนวนการทดสอบที่ผ่าน ไม่ผ่าน หรือได้ผลลัพธ์ที่ไม่สม่ำเสมอ และอื่นๆ อีกมากมาย
ผลการทดสอบดิบจะมีบันทึกการทดสอบและรายละเอียดความล้มเหลวของแอป และจัดเก็บไว้ในที่เก็บข้อมูล Google Cloud โดยอัตโนมัติ หากระบุที่เก็บข้อมูล คุณจะต้องรับผิดชอบเกี่ยวกับค่าใช้จ่ายของพื้นที่เก็บข้อมูล หากไม่ระบุที่เก็บข้อมูล Test Lab จะสร้างที่เก็บข้อมูลให้คุณโดยไม่มีค่าใช้จ่าย
ดูรายละเอียดเพิ่มเติมได้ที่วิเคราะห์ผลลัพธ์ของ Firebase Test Lab
การทำความสะอาดอุปกรณ์
Google ให้ความสำคัญกับการรักษาความปลอดภัยของข้อมูลแอปของคุณเป็นอย่างมาก เราปฏิบัติตามแนวทางปฏิบัติแนะนำตามมาตรฐานอุตสาหกรรมเพื่อนำข้อมูลแอปออกและรีเซ็ตการตั้งค่าระบบสำหรับอุปกรณ์จริงหลังจากทำการทดสอบทุกครั้ง เพื่อให้อุปกรณ์พร้อมทำการทดสอบใหม่ๆ สำหรับอุปกรณ์ที่เราสามารถแฟลชด้วยอิมเมจการกู้คืนที่กำหนดเองได้ เราจะก้าวไปอีกขั้นด้วยการแฟลชอุปกรณ์เหล่านี้ระหว่างการทดสอบ
สำหรับอุปกรณ์เสมือนที่ Test Lab ใช้งาน ระบบจะลบอินสแตนซ์ของอุปกรณ์หลังจากใช้งานเพื่อให้การทดสอบแต่ละครั้งใช้อินสแตนซ์ของอุปกรณ์เสมือนใหม่
การอนุญาตให้อุปกรณ์ Test Lab เข้าถึงเซิร์ฟเวอร์แบ็กเอนด์ส่วนตัว
แอปบนอุปกรณ์เคลื่อนที่บางแอปต้องสื่อสารกับบริการแบ็กเอนด์ส่วนตัวเพื่อให้ทำงานได้อย่างถูกต้องในระหว่างการทดสอบ หากเซิร์ฟเวอร์แบ็กเอนด์ได้รับการปกป้องโดยกฎไฟร์วอลล์ คุณจะอนุญาตการเข้าถึงอุปกรณ์จริงและอุปกรณ์เสมือนของ Test Lab ได้โดยใช้บล็อกที่อยู่ 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, เปิดระบบอุปกรณ์เสมือน |
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) 70.32.128.48/28 (เพิ่มเมื่อ 04-2024) |
อุปกรณ์เสมือน Android (ไม่ใช่อุปกรณ์ทดสอบ) |
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) |