ตัวแทนการทดสอบแอปคือตัวแทนการสร้าง การจัดการ และการดำเนินการของเคสทดสอบที่ทำงานด้วย Gemini ใน Firebase คุณกําหนดเป้าหมายการทดสอบเป็นภาษาธรรมชาติ แล้วตัวแทนจะใช้ AI เพื่อทําความเข้าใจและไปยังส่วนต่างๆ ของแอป จำลองการโต้ตอบของผู้ใช้ และแสดงผลการทดสอบโดยละเอียด
วิธีที่ตัวแทนการทดสอบแอปใช้ข้อมูลของคุณ
ตัวแทนการทดสอบแอปมาจาก Gemini ใน Firebase และอยู่ภายใต้ข้อกำหนดเดียวกัน ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Gemini ใน Firebase ใช้ข้อมูลของคุณได้ที่วิธีที่ Gemini ใน Firebase ใช้ข้อมูลของคุณ
ก่อนเริ่มต้น
ลงทะเบียนแอปกับ Firebase หากยังไม่ได้ดำเนินการ
หากไม่ได้ใช้ผลิตภัณฑ์อื่นๆ ของ Firebase คุณจะต้องสร้างโปรเจ็กต์และลงทะเบียนแอปเท่านั้น โดยไม่จำเป็นต้องเพิ่ม SDK ใดๆ ลงในแอป แต่หากตัดสินใจที่จะใช้ผลิตภัณฑ์เพิ่มเติมในอนาคต โปรดทำตามขั้นตอนทั้งหมดในเพิ่ม Firebase โดยใช้Firebaseคอนโซล
เมื่อคุณพร้อมที่จะเผยแพร่แอปเวอร์ชันก่อนเปิดตัวให้ผู้ทดสอบ ให้สร้าง APK หรือ AAB โดยใช้กระบวนการปกติ แล้วอัปโหลดไปยัง App Distribution ในคอนโซล Firebase คุณต้องลงนาม APK ด้วยคีย์แก้ไขข้อบกพร่องหรือคีย์ App Signing
สร้างกรณีทดสอบ
หากต้องการเรียกใช้การทดสอบที่ AI แนะนำ ตัวแทนการทดสอบแอปจะใช้กรณีทดสอบที่เป็นภาษาธรรมชาติเพื่อทำการทดสอบกับแอป
แต่ละกรณีทดสอบจะแบ่งออกเป็นขั้นตอนต่างๆ ซึ่งจะดำเนินการตามลำดับ ขั้นตอนช่วยให้คุณแบ่งกรณีทดสอบออกเป็นระยะๆ โดยแต่ละระยะจะมีเกณฑ์ความสําเร็จเป็นของตัวเอง ตัวแทนอาจดำเนินการหลายอย่างในขั้นตอนใดขั้นตอนหนึ่ง
หากต้องการสร้างกรณีทดสอบ ให้เปิดหน้า App Distribution ของคอนโซล Firebase แล้วทำตามขั้นตอนต่อไปนี้
- ในแท็บกรณีทดสอบ ให้คลิกกรณีทดสอบใหม่ หากไม่ต้องการสร้างกรณีทดสอบของคุณเอง คุณสามารถแก้ไขหรือใช้ตัวอย่างกรณีทดสอบที่ให้ไว้
- ในกล่องโต้ตอบเพิ่มชุดทดสอบ ให้ตั้งชื่อชุดทดสอบ ข้อมูลนี้ใช้เพื่อระบุการทดสอบ แต่ตัวแทนจะไม่สนใจ
- ลองแบ่งการทดสอบออกเป็นหลายขั้นตอนโดยคลิกปุ่มเพิ่มขั้นตอนอื่น
- ตั้งเป้าหมายให้กับแต่ละขั้นตอน ซึ่งอธิบายสิ่งที่ตัวแทนการทดสอบแอปควรทำในขั้นตอนนั้น
- (ไม่บังคับ) เพิ่มคำแนะนำเพื่อให้ข้อมูลเพิ่มเติมเพื่อช่วยตัวแทนทดสอบแอปทำความเข้าใจและไปยังส่วนต่างๆ ของแอปในขั้นตอนนั้น
- (ไม่บังคับ) เพิ่มเกณฑ์ความสําเร็จเพื่อช่วยตัวแทนการทดสอบแอปในการระบุเมื่อขั้นตอนเสร็จสมบูรณ์
- คลิกบันทึกเมื่อปรับแต่งการทดสอบเสร็จแล้ว
ตัวอย่างเฟรมเวิร์กการทดสอบ
ต่อไปนี้คือตัวอย่างวิธีสร้างเคสทดสอบโดยใช้ตัวแทนการทดสอบแอป
การทดสอบหน้าแรก | |
---|---|
ชื่อการทดสอบ |
การโหลดหน้าแรก |
เป้าหมาย |
โหลดหน้าแรก |
คำใบ้ |
ไปยังส่วนต่างๆ ของหน้าจอการเริ่มต้นใช้งาน ปิดป๊อปอัป อย่าลงชื่อเข้าใช้ |
เกณฑ์ความสําเร็จ |
หน้าแรกของแอปหลักปรากฏบนหน้าจอ โหลดรูปภาพทั้งหมดแล้ว และไม่มีการแสดงข้อผิดพลาด |
ทำการทดสอบ
ตัวแทนการทดสอบแอปช่วยให้คุณเรียกใช้การทดสอบที่ AI แนะนำในคอนโซลได้โดยคลิกปุ่มเรียกใช้การทดสอบจากหน้ารุ่นหรือหน้า Test Case ซึ่งจะเปิดหน้าจอการปรับแต่งตัวแทนการทดสอบแอป ซึ่งคุณจะเลือกกรณีทดสอบที่มีอยู่อย่างน้อย 1 รายการเพื่อให้ตัวแทนดำเนินการได้ นอกจากนี้ คุณยังเลือกอุปกรณ์ที่ต้องการทดสอบและระบุข้อมูลเข้าสู่ระบบหรือไม่ก็ได้
นอกจากนี้ คุณยังเลือกเรียกใช้การทดสอบการ Crawl แบบสุ่มได้โดยเปลี่ยนประเภทการทดสอบ การทดสอบการ Crawl แบบสุ่มใช้ฟีเจอร์เครื่องมือทดสอบอัตโนมัติ
คุณดูผลการทดสอบได้จากหน้ารุ่นในแท็บตัวแทนการทดสอบแอปของรุ่น ปุ่มดูรายละเอียดจะเปิดกล่องโต้ตอบผลการทดสอบและแสดงปัญหา ภาพหน้าจอของแอป และการดำเนินการที่ Gemini ดำเนินการระหว่างการทดสอบ
ทดสอบบิลด์โดยอัตโนมัติ
หากต้องการเรียกใช้การทดสอบของตัวแทนการทดสอบแอปในบิลด์ใหม่โดยอัตโนมัติ เช่น จากไปป์ไลน์ CI/CD คุณสามารถเผยแพร่บิลด์ไปยังตัวแทนได้โดยใช้ปลั๊กอิน Gradle หรือ Fastlane ของ App Distribution หรือ Firebase CLI
ทดสอบบิลด์โดยอัตโนมัติด้วย Firebase CLI
คุณต้องระบุอุปกรณ์ทดสอบอย่างน้อย 1 เครื่องและรหัสกรณีทดสอบ 1 รายการจึงจะใช้ฟีเจอร์ตัวแทนการทดสอบแอปได้ คุณดูและดาวน์โหลดรหัสเคสทดสอบได้ในหน้าเคสทดสอบของคอนโซล Firebase ดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน Firebase CLI และวิธีต่างๆ ในการกำหนดค่าการเผยแพร่ได้ที่เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ Firebase CLI
เรียกใช้คําสั่ง appdistribution:distribute
เพื่ออัปโหลดแอป และใช้พารามิเตอร์ต่อไปนี้เพื่อกําหนดค่าการเผยแพร่ให้กับฟีเจอร์ตัวแทนทดสอบแอป
appdistribution:distribute options | |
---|---|
--test-devices หรือ
--test-devices-file
|
อุปกรณ์ทดสอบที่คุณต้องการเผยแพร่บิลด์ไปยังฟีเจอร์ตัวแทนการทดสอบแอป คุณสามารถระบุอุปกรณ์ทดสอบเป็นรายการอุปกรณ์ทดสอบที่คั่นด้วยเครื่องหมายเซมิโคลอน ดังนี้ --test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"
หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการอุปกรณ์ทดสอบที่คั่นด้วยเครื่องหมายเซมิโคลอนก็ได้ ดังนี้ --test-devices-file: "/path/to/test-devices.txt"
|
--test-username
|
ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบ |
--test-password หรือ
--test-password-file
|
รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบ หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่านก็ได้ โดยทำดังนี้ --test-password-file: "/path/to/test-password.txt"
|
--test-non-blocking
|
ทำการทดสอบแบบไม่พร้อมกัน ไปที่คอนโซล Firebase เพื่อดูผลการทดสอบอัตโนมัติ |
--test-case-ids หรือ
--test-case-ids-file
|
รายการรหัสเคสทดสอบที่คั่นด้วยคอมมาสําหรับการเรียกใช้การทดสอบอัตโนมัติที่ทำงานด้วยระบบ AI --test-case-ids: "load-app,play-the-first-level"
หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการรหัสเคสทดสอบที่คั่นด้วยคอมมาหรือขึ้นบรรทัดใหม่ก็ได้ --test-case-ids-file: "/path/to/test-case-ids.txt"
|
ทดสอบบิลด์โดยอัตโนมัติด้วย Gradle
คุณต้องระบุอุปกรณ์ทดสอบอย่างน้อย 1 เครื่องและรหัสกรณีทดสอบ 1 รายการจึงจะใช้ฟีเจอร์ตัวแทนการทดสอบแอปได้ คุณดูและดาวน์โหลดรหัสเคสทดสอบได้ในหน้าเคสทดสอบของคอนโซล Firebase ดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน Gradle และวิธีต่างๆ ในการกำหนดค่าการเผยแพร่ได้ที่เผยแพร่แอป Android ให้แก่ผู้ทดสอบโดยใช้ Gradle
คุณสามารถกําหนดค่า App Distribution ได้โดยเพิ่มส่วน firebaseAppDistribution
อย่างน้อย 1 ส่วน และใช้พารามิเตอร์ต่อไปนี้เพื่อกําหนดค่าการเผยแพร่ไปยังฟีเจอร์ตัวแทนการทดสอบแอป
App Distribution พารามิเตอร์การสร้าง | |
---|---|
testDevices หรือ
testDevicesFile
|
อุปกรณ์ทดสอบที่คุณต้องการเผยแพร่บิลด์ไปยังฟีเจอร์ตัวแทนการทดสอบแอป คุณสามารถระบุอุปกรณ์ทดสอบเป็นรายการข้อมูลจำเพาะของอุปกรณ์ที่คั่นด้วยเครื่องหมายอัฒภาค testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"
หรือจะระบุเส้นทางไปยังไฟล์ที่มีรายการข้อมูลจำเพาะของอุปกรณ์ที่คั่นด้วยเครื่องหมายเซมิโคลอนก็ได้ testDevicesFile="/path/to/testDevices.txt"
|
testUsername
|
ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบ |
testPassword หรือ
testPasswordFile
|
รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบ หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่านก็ได้ โดยทำดังนี้ testPasswordFile="/path/to/testPassword.txt" |
testNonBlocking |
ทำการทดสอบแบบไม่พร้อมกัน ไปที่คอนโซล Firebase เพื่อดูผลการทดสอบอัตโนมัติ |
testCases หรือ
testCasesFile
|
รายการรหัสเคสทดสอบที่คั่นด้วยคอมมาสําหรับการเรียกใช้การทดสอบอัตโนมัติที่ทำงานด้วยระบบ AI testCases: "load-app,play-the-first-level"
หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการรหัสเคสทดสอบที่คั่นด้วยคอมมาหรือขึ้นบรรทัดใหม่ก็ได้ testCasesFile: "/path/to/test-case-ids.txt"
|
ทดสอบบิลด์โดยอัตโนมัติด้วย Fastlane
คุณต้องระบุอุปกรณ์ทดสอบอย่างน้อย 1 เครื่องและรหัสกรณีทดสอบ 1 รายการจึงจะใช้ฟีเจอร์ตัวแทนการทดสอบแอปได้ คุณดูและดาวน์โหลดรหัสเคสทดสอบได้ในหน้าเคสทดสอบของคอนโซล Firebase ดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน Fastlane และวิธีต่างๆ ในการกำหนดค่าการเผยแพร่ได้ที่เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ Fastlane
ในเลน ./fastlane/Fastfile
ให้เพิ่มบล็อก firebase_app_distribution
ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการเผยแพร่ไปยังฟีเจอร์ตัวแทนการทดสอบแอป
พารามิเตอร์ firebase_app_distribution | |
---|---|
test_devices หรือ
test_devices_file
|
อุปกรณ์ทดสอบที่คุณต้องการเผยแพร่บิลด์ไปยังฟีเจอร์ตัวแทนการทดสอบแอป คุณสามารถระบุอุปกรณ์ทดสอบเป็นรายการอุปกรณ์ทดสอบที่คั่นด้วยเครื่องหมายเซมิโคลอน ดังนี้ test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"
หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการอุปกรณ์ทดสอบที่คั่นด้วยเครื่องหมายเซมิโคลอนก็ได้ ดังนี้ test_devices_file: "/path/to/test-devices.txt"
|
test_username
|
ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบ |
test_password หรือ
test_password_file
|
รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบ หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่านก็ได้ โดยทำดังนี้ test_password_file: "/path/to/test-password.txt"
|
test_non_blocking |
ทำการทดสอบแบบไม่พร้อมกัน ไปที่คอนโซล Firebase เพื่อดูผลการทดสอบอัตโนมัติ |
--test_case_ids หรือ
--test_case_ids_file
|
รายการรหัสเคสทดสอบที่คั่นด้วยคอมมาสําหรับการเรียกใช้การทดสอบอัตโนมัติที่ทำงานด้วยระบบ AI --test_case_ids: "load-app,play-the-first-level"
หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการรหัสเคสทดสอบที่คั่นด้วยคอมมาหรือขึ้นบรรทัดใหม่ก็ได้ --test_case_ids_file: "/path/to/test-case-ids.txt"
|
แก้ไขข้อบกพร่องของผลการทดสอบ
หากผลการทดสอบแตกต่างจากที่คาดไว้ คุณสามารถแก้ไขข้อบกพร่องการทดสอบได้โดยใช้ปุ่มเปิด/ปิดแสดงมุมมองตัวแทนในส่วนดูรายละเอียดในหน้าผลการทดสอบ มุมมองตัวแทนจะแสดงองค์ประกอบบนหน้าจอที่ตัวแทนการทดสอบแอปตรวจพบเมื่อใช้ข้อมูลการช่วยเหลือพิเศษของแอป หากต้องการดูสิ่งที่ตัวแทนเห็นอย่างละเอียด คุณสามารถดาวน์โหลดข้อมูลดังกล่าวได้จากเมนูการดำเนินการเพิ่มเติม
นอกจากนี้ คุณยังใช้ปุ่มดูรายการต่างๆ ในหน้าผลการทดสอบเพื่อดูวิดีโอ บันทึก และรายการอื่นๆ ทั้งหมดในระบบคลาวด์สำหรับผลการทดสอบได้ด้วย
ปัญหาและข้อจำกัดที่ทราบ
ตัวอย่างของตัวแทนการทดสอบแอปมีข้อจํากัดที่ทราบกันดังนี้
- เนื่องจากตัวแทนการทดสอบแอปใช้ Generative AI เพื่อทดสอบแอปของคุณ บางครั้งตัวแทนจึงอาจดำเนินการที่ต่างออกไปขณะที่ยังคงทำตามวิธีการเดียวกัน
- ตัวแทนการทดสอบแอปรองรับเฉพาะการดําเนินการต่อไปนี้เท่านั้น ได้แก่ แตะ ป้อนข้อความ เลื่อนขึ้น เลื่อนลง และรอ
- ตัวแทนการทดสอบแอปพบปัญหาในการดําเนินการทดสอบที่มีเพียงขั้นตอนเดียวซึ่งต้องดําเนินการหลายอย่าง โดยจะทำงานได้ดีขึ้นเมื่อแบ่งงานที่ซับซ้อนออกเป็นขั้นตอนสั้นๆ หลายขั้นตอน
- บางครั้งตัวแทนการทดสอบแอปจะไม่เลื่อนเพื่อแสดงองค์ประกอบอื่นๆ ที่อยู่นอกหน้าจอ กรณีนี้เกิดขึ้นบ่อยขึ้นเมื่อไม่มีตัวบ่งชี้ภาพของการเลื่อน วิธีแก้ปัญหาชั่วคราวคือใช้ช่อง "คำแนะนำ" เพื่อแนะนำการเลื่อน
- บางครั้งตัวแทนการทดสอบแอปอาจมีปัญหาในการนับ เช่น การดำเนินการตามจำนวนครั้งที่เจาะจง
โควต้าการทดสอบ
ในช่วงทดลองใช้นี้ คุณจะทดสอบโดยใช้คําแนะนําจาก AI ได้โดยไม่เสียค่าใช้จ่ายภายในโควต้าที่กําหนด ขีดจํากัดโควต้าเริ่มต้นคือ 100 การทดสอบต่อเดือน
โปรดทราบว่าหากเลือกเรียกใช้ Test Case หลายรายการหรือเรียกใช้ Test Case เดียวกันในอุปกรณ์หลายเครื่อง ระบบจะนับเป็นการทดสอบหลายรายการ ตัวอย่างเช่น หากคุณเรียกใช้เทสเคส 2 รายการในอุปกรณ์ 2 เครื่อง ระบบจะนับเป็นการทดสอบทั้งหมด 4 ครั้ง
หากต้องการเพิ่มโควต้าให้มากกว่าขีดจํากัดเริ่มต้น โปรดติดต่อทีมสนับสนุน Firebase พร้อมแจ้งกรณีการใช้งาน