Firebase Test Lab ช่วยให้คุณทดสอบคุณภาพของแอปในอุปกรณ์และการกำหนดค่าต่างๆ ได้ คู่มือนี้จะอธิบายภาพรวมของแนวคิดหลัก ฟีเจอร์สำหรับ iOS และวิธีการเริ่มการทดสอบของ Test Lab
ดูข้อมูลเกี่ยวกับโควต้าและแพ็กเกจราคาของ Test Lab ได้ที่การใช้งาน โควต้า และราคา
แนวคิดและคำสำคัญ
เมื่อคุณทำการทดสอบหรือชุดกรณีทดสอบกับอุปกรณ์และการกําหนดค่าที่เลือกไว้ Test Lab จะทำการทดสอบกับแอปของคุณเป็นกลุ่ม แล้วแสดงผลลัพธ์เป็นตารางทดสอบ
อุปกรณ์ × การเรียกใช้การทดสอบ = เมทริกซ์การทดสอบ
- อุปกรณ์
- อุปกรณ์จริงหรือเสมือน (Android เท่านั้น) ที่คุณทำการทดสอบ เช่น โทรศัพท์ แท็บเล็ต หรืออุปกรณ์ที่สวมใส่ได้ อุปกรณ์ในตารางทดสอบจะระบุตามรุ่นอุปกรณ์ เวอร์ชันระบบปฏิบัติการ การวางแนวหน้าจอ และภาษา (หรือที่เรียกว่าการตั้งค่าภูมิศาสตร์และภาษา)
- ทดสอบ การดำเนินการทดสอบ
- การทดสอบ (หรือชุดเฟรมทดสอบ) ที่จะเรียกใช้บนอุปกรณ์ คุณสามารถเรียกใช้การทดสอบ 1 รายการต่ออุปกรณ์ หรือจะแบ่งการทดสอบและเรียกใช้ชุดทดสอบในอุปกรณ์ต่างๆ ก็ได้
- เมทริกซ์ทดสอบ
- มีสถานะและผลการทดสอบสําหรับการเรียกใช้การทดสอบ หากการเรียกใช้การทดสอบใดก็ตามในเมทริกซ์ไม่สําเร็จ เมทริกซ์ทั้งรายการจะดำเนินการไม่สําเร็จ
ขั้นตอนที่ 1: เตรียมการทดสอบเพื่ออัปโหลดไปยัง Test Lab
คุณทําการทดสอบต่อไปนี้ได้โดยใช้ Test Lab โปรดทราบว่าการทดสอบทุกประเภทจะทํางานได้สูงสุด 45 นาทีในอุปกรณ์จริง และข้อยกเว้นที่ตรวจไม่พบจะทําให้การทดสอบไม่สําเร็จ
XCTest (รวมถึง XCUITests): การทดสอบหน่วยที่คุณเขียนโดยใช้เฟรมเวิร์ก XCTest ไปที่สร้าง XCTest เพื่อดูวิธีการแก้ไข XCTest ให้ทำงานร่วมกับ Test Lab
การทดสอบ Game Loop: การทดสอบที่ใช้ "โหมดเดโม" เพื่อจำลองการดําเนินการของผู้เล่นในแอปเล่นเกม วิธีนี้เป็นวิธีที่รวดเร็วและปรับขนาดได้เพื่อยืนยันว่าเกมของคุณมีประสิทธิภาพดีสำหรับผู้ใช้ เมื่อเลือกทำการทดสอบ Game Loop คุณจะทําสิ่งต่อไปนี้ได้
เขียนการทดสอบที่ทำงานร่วมกับเครื่องมือสร้างเกมของคุณ
หลีกเลี่ยงการเขียนโค้ดเดียวกันสำหรับ UI หรือเฟรมเวิร์กการทดสอบที่แตกต่างกัน
สร้างลูปหลายรายการเพื่อเรียกใช้ในการทดสอบครั้งเดียว (ไม่บังคับ) นอกจากนี้ คุณยังจัดระเบียบลูปได้โดยใช้ป้ายกำกับเพื่อให้ติดตามและเรียกใช้ลูปที่เฉพาะเจาะจงซ้ำได้
ไปที่ทำการทดสอบ Game Loop เพื่อดูวิธีการทดสอบใน Test Lab
ขั้นตอนที่ 2: เลือกเครื่องมือที่จะใช้ทดสอบ
คุณเลือกเครื่องมือต่อไปนี้เพื่อทำการทดสอบได้
คอนโซล Firebase ให้คุณอัปโหลดแอปและเริ่มการทดสอบได้จากทุกที่ ดูวิธีการใช้เครื่องมือนี้ที่หัวข้อทดสอบด้วยคอนโซล Firebase
อินเทอร์เฟซบรรทัดคำสั่ง (CLI) ของ gcloud ช่วยให้คุณทำการทดสอบจากบรรทัดคำสั่งแบบอินเทอร์แอกทีฟได้ และยังเหมาะกับสคริปต์ในกระบวนการสร้างและการทดสอบอัตโนมัติด้วย ดูวิธีการใช้เครื่องมือนี้ที่หัวข้อทดสอบด้วย 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
command
ใน CLI ของ gcloud โดยระบบจะอัปเดตรายการนี้โดยเฉลี่ยปีละครั้ง
แพลตฟอร์มและประเภทอุปกรณ์ | บล็อกที่อยู่ IP รูปแบบ CIDR |
---|---|
อุปกรณ์จริง Android และ iOS, อุปกรณ์เสมือน Arm |
70.32.128.0/19 (เพิ่ม 02-2022) 108.177.6.0/23 108.177.18.192/26 (เพิ่มเมื่อวันที่ 2-2022) 108.177.29.64/27 (ขยายการให้บริการ 02-2022) 108.177.31.160/27 (เพิ่มเมื่อวันที่ 02-2022) 199.36.156.8/29 (เพิ่มวันที่ 2-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 (ไม่ใช่ 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) |