Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

สำหรับข้อมูลเกี่ยวกับโควต้าห้องปฏิบัติการทดสอบและการวางแผนการกำหนดราคาให้ดู การใช้งาน, โควต้าและการกำหนดราคา

แนวคิดและข้อกำหนดที่สำคัญ

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

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

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

ขั้นตอนที่ 1: การเตรียมการทดสอบของคุณสำหรับการอัปโหลดไปยังห้องปฏิบัติการทดสอบ

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

  • XCTest (รวม XCUITests): การทดสอบหน่วยที่คุณเขียนโดยใช้ กรอบ XCTest เยี่ยมชม สร้าง XCTest สำหรับคำแนะนำในการปรับเปลี่ยน XCTest ในการทำงานด้วยห้องปฏิบัติการทดสอบ

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

    • เขียนการทดสอบโดยกำเนิดในเอ็นจิ้นเกมของคุณ

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

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

    เยี่ยมชม การเรียกใช้การทดสอบเกมห่วง สำหรับคำแนะนำเกี่ยวกับวิธีการเรียกใช้การทดสอบในห้องปฏิบัติการทดสอบ

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

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

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

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

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

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

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

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

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

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

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

สำหรับรายละเอียดเพิ่มเติมโปรดดูที่ การวิเคราะห์ผล Firebase ห้องปฏิบัติการทดสอบ

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

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

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


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

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

โฆษณาบนมือถือ

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

เพื่อลดปัญหานี้:

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

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

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

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

ประเภทแพลตฟอร์มและอุปกรณ์ บล็อกที่อยู่ IP CIDR
อุปกรณ์ทางกายภาพของ Android และ iOS

108.177.6.0/23

70.32.147.112/28 (เพิ่ม 03-2020)

74.125.122.32/29 (เพิ่ม 04-2020)

108.177.29.80/28 (เพิ่ม 04-2020)

216.239.44.24/29 (เพิ่ม 04-2020)

อุปกรณ์เสมือน 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)

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)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29