ตัวแทนการทดสอบแอป (Android)
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เอเจนต์การทดสอบแอปเป็นเอเจนต์การสร้าง การจัดการ และการดำเนินการกรณีทดสอบที่ทำงานด้วย Gemini ใน Firebase คุณกำหนดเป้าหมายการทดสอบในภาษาธรรมชาติ และเอเจนต์จะใช้ AI เพื่อทำความเข้าใจและไปยังส่วนต่างๆ
ของแอป จำลองการโต้ตอบของผู้ใช้ และให้ผลการทดสอบโดยละเอียด
วิธีที่ตัวแทนการทดสอบแอปใช้ข้อมูลของคุณ
เอเจนต์การทดสอบแอปให้บริการโดย
Gemini ใน Firebase และอยู่ภายใต้
ข้อกำหนดเดียวกัน ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Gemini ใน Firebase ใช้ข้อมูลของคุณได้ที่วิธีที่ Gemini ใน Firebase ใช้ข้อมูลของคุณ
ก่อนเริ่มต้น
ลงทะเบียนแอปกับ Firebase หากยังไม่ได้ลงทะเบียน
หากไม่ได้ใช้ผลิตภัณฑ์อื่นๆ ของ Firebase คุณจะต้องสร้างโปรเจ็กต์และลงทะเบียนแอปเท่านั้น โดยไม่ต้องเพิ่ม SDK ใดๆ ลงในแอป
อย่างไรก็ตาม หากตัดสินใจใช้ผลิตภัณฑ์เพิ่มเติมในอนาคต โปรดทําตามขั้นตอนทั้งหมดในเพิ่ม Firebase โดยใช้Firebaseคอนโซล
เมื่อพร้อมที่จะเผยแพร่แอปเวอร์ชันก่อนเปิดตัวให้ผู้ทดสอบ
ให้สร้าง APK หรือ AAB โดยใช้กระบวนการปกติ แล้วอัปโหลดไปยัง App
Distribution ในFirebase Console
คุณต้องลงนาม APK ด้วยคีย์การแก้ไขข้อบกพร่องหรือคีย์ App Signing
สร้างกรณีทดสอบ
หากต้องการเรียกใช้การทดสอบที่ AI แนะนำ ตัวแทนการทดสอบแอปจะใช้กรณีทดสอบในภาษามนุษย์เพื่อเรียกใช้การทดสอบกับแอป
ระบบจะแบ่งกรณีทดสอบแต่ละรายการออกเป็นขั้นตอนต่างๆ ซึ่งจะดำเนินการตามลำดับ
ขั้นตอนช่วยให้คุณแบ่งกรณีทดสอบออกเป็นระยะต่างๆ โดยแต่ละระยะจะมี
เกณฑ์ความสําเร็จของตัวเอง ตัวแทนอาจดำเนินการหลายอย่างในขั้นตอนเดียว
หากต้องการสร้างกรณีทดสอบ ให้เปิดหน้า App Distribution ของ
Firebase คอนโซล
แล้วทำตามขั้นตอนต่อไปนี้
- ในแท็บกรณีทดสอบ ให้คลิกกรณีทดสอบใหม่ หากไม่ต้องการสร้างกรณีทดสอบด้วยตนเอง คุณสามารถแก้ไขหรือใช้กรณีทดสอบตัวอย่างที่ให้ไว้ได้
- ในกล่องโต้ตอบเพิ่มกรณีทดสอบ ให้ตั้งชื่อกรณีทดสอบ ใช้เพื่อระบุการทดสอบ แต่ตัวแทนจะละเว้น
- ลองแบ่งการทดสอบออกเป็นหลายขั้นตอนโดยคลิกปุ่มเพิ่มอีกขั้นตอน
- กำหนดเป้าหมายให้กับแต่ละขั้นตอนเพื่ออธิบายสิ่งที่เอเจนต์การทดสอบแอปควรทำในขั้นตอนนั้น
- (ไม่บังคับ) เพิ่มคำแนะนำเพื่อให้ข้อมูลเพิ่มเติมเพื่อช่วยให้ตัวแทน App
Testing เข้าใจและไปยังส่วนต่างๆ ของแอปในขั้นตอนนั้น
- (ไม่บังคับ) เพิ่มเกณฑ์ความสำเร็จเพื่อช่วยให้ตัวแทนการทดสอบแอปทราบว่าขั้นตอนเสร็จสมบูรณ์แล้วเมื่อใด
- คลิกบันทึกเมื่อปรับแต่งการทดสอบเสร็จแล้ว
ตัวอย่างกรณีทดสอบ
ต่อไปนี้เป็นตัวอย่างวิธีสร้างกรณีทดสอบโดยใช้เอเจนต์การทดสอบแอป
การทดสอบหน้าแรก |
ชื่อสำหรับทดสอบ
|
การโหลดหน้าแรก
|
เป้าหมาย
|
โหลดหน้าแรก
|
คำใบ้
|
ข้ามหน้าจอการเริ่มต้นใช้งาน ปิดป๊อปอัป ไม่ต้องลงชื่อเข้าใช้
|
เกณฑ์ความสำเร็จ
|
หน้าแรกของแอปหลักปรากฏบนหน้าจอ รูปภาพทั้งหมดโหลดแล้ว และไม่มีข้อผิดพลาดแสดง
|
ทำการทดสอบ
เอเจนต์การทดสอบแอปช่วยให้คุณเรียกใช้การทดสอบที่ AI แนะนำในคอนโซลได้โดย
คลิกปุ่มเรียกใช้การทดสอบจากหน้าการเผยแพร่หรือหน้ากรณีทดสอบ
ซึ่งจะเปิดหน้าจอการปรับแต่งตัวแทนการทดสอบแอป ที่คุณสามารถเลือกกรณีทดสอบที่มีอยู่ตั้งแต่ 1 รายการขึ้นไปเพื่อให้ตัวแทนดำเนินการ นอกจากนี้ คุณยังเลือกอุปกรณ์ที่ต้องการทดสอบเทียบด้วยได้ รวมถึงเลือกว่าจะระบุข้อมูลเข้าสู่ระบบหรือไม่
นอกจากนี้ คุณยังเลือกที่จะเรียกใช้การทดสอบการ Crawl แบบสุ่มได้ด้วยการเปลี่ยนประเภทการทดสอบ
การทดสอบการ Crawl แบบสุ่มใช้ฟีเจอร์เครื่องมือทดสอบอัตโนมัติ
คุณดูผลการทดสอบได้จากหน้ารุ่นในแท็บตัวแทนการทดสอบแอปของรุ่น ปุ่มดูรายละเอียดจะเปิดกล่องโต้ตอบผลการทดสอบและแสดงปัญหา ภาพหน้าจอของแอป และ
การดำเนินการที่ Gemini ทำระหว่างการทดสอบ
ทดสอบบิลด์โดยอัตโนมัติ
หากต้องการเรียกใช้การทดสอบตัวแทน App Testing ในบิลด์ใหม่โดยอัตโนมัติ เช่น จากไปป์ไลน์ CI/CD คุณสามารถเผยแพร่บิลด์ไปยังตัวแทนได้โดยใช้ปลั๊กอิน Gradle หรือ fastlane ของ App Distribution หรือ Firebase CLI
ทดสอบบิลด์โดยอัตโนมัติด้วย Firebase CLI
คุณต้องระบุอุปกรณ์ทดสอบอย่างน้อย 1 เครื่องและรหัสกรณีทดสอบ 1 รายการเพื่อใช้ฟีเจอร์เอเจนต์ App
Testing คุณดูและดาวน์โหลดรหัสกรณีทดสอบได้ในหน้ากรณีทดสอบของ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 รายการเพื่อใช้ฟีเจอร์เอเจนต์ App
Testing คุณดูและดาวน์โหลดรหัสกรณีทดสอบได้ในหน้ากรณีทดสอบของ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 รายการเพื่อใช้ฟีเจอร์เอเจนต์ App
Testing คุณดูและดาวน์โหลดรหัสกรณีทดสอบได้ในหน้ากรณีทดสอบของFirebaseคอนโซล ดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน
fastlane และวิธีกำหนดค่าการจัดจำหน่ายแบบต่างๆ ได้ที่จัดจำหน่าย
แอป Android ให้ผู้ทดสอบโดยใช้
fastlane
เพิ่มบล็อก firebase_app_distribution
ในเลน ./fastlane/Fastfile
ใช้พารามิเตอร์ต่อไปนี้เพื่อ
กำหนดค่าการเผยแพร่ไปยังฟีเจอร์ตัวแทนการทดสอบแอป
พารามิเตอร์ 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"
|
แก้ไขข้อบกพร่องของผลการทดสอบ
หากผลการทดสอบแตกต่างจากที่คาดไว้ คุณสามารถแก้ไขข้อบกพร่องของการทดสอบได้โดยใช้ปุ่มเปิด/ปิดแสดงมุมมองของตัวแทนในส่วนดูรายละเอียดในหน้าผลการทดสอบ
มุมมองตัวแทนจะแสดงองค์ประกอบบนหน้าจอที่ตัวแทน App
Testing ตรวจพบเมื่อใช้ข้อมูลการช่วยเหลือพิเศษของแอป
หากต้องการดูสิ่งที่ตัวแทนเห็นอย่างละเอียด คุณสามารถดาวน์โหลด
ข้อมูลดังกล่าวจากเมนูการดำเนินการเพิ่มเติม
นอกจากนี้ คุณยังใช้ปุ่มดูอาร์ติแฟกต์ในหน้าผลการทดสอบเพื่อดูวิดีโอ บันทึก และอาร์ติแฟกต์อื่นๆ ในระบบคลาวด์ทั้งหมดสำหรับผลการทดสอบได้ด้วย
ปัญหาและข้อจำกัดที่ทราบ
ตัวอย่างเอเจนต์การทดสอบแอปมีข้อจำกัดที่ทราบกันดังนี้
- เนื่องจากเอเจนต์การทดสอบแอปใช้ Generative AI เพื่อทดสอบแอป จึงอาจ
ดำเนินการต่างๆ ในบางครั้งขณะที่ยังคงทำตาม
วิธีการเดียวกัน
- เอเจนต์การทดสอบแอปจะรองรับเฉพาะการดำเนินการต่อไปนี้ แตะ ป้อนข้อความ
ปัดขึ้น/ลง/ซ้าย/ขวา และรอ
- ตัวแทนการทดสอบแอปมีปัญหาในการดำเนินการทดสอบที่มีเพียงขั้นตอนเดียว
ซึ่งต้องใช้การดำเนินการหลายอย่างจึงจะสำเร็จ โดยจะทำงานได้ดีขึ้นเมื่อแบ่งงานที่ซับซ้อน
ออกเป็นขั้นตอนย่อยๆ หลายขั้นตอน
- บางครั้งเอเจนต์การทดสอบแอปจะไม่เลื่อนเพื่อแสดงองค์ประกอบอื่นๆ ที่อยู่นอกหน้าจอ ซึ่งมักเกิดขึ้นเมื่อไม่มีข้อบ่งชี้ที่มองเห็นได้ว่าเลื่อนได้ วิธีแก้ปัญหาชั่วคราวคือใช้ช่อง "คำแนะนำ" เพื่อแนะนำ
การเลื่อน
- บางครั้งเอเจนต์การทดสอบแอปอาจนับได้ยาก เช่น
การดำเนินการจำนวนครั้งที่เฉพาะเจาะจง
- ตัวแทนการทดสอบแอปจะไม่สามารถไปยังส่วนต่างๆ ของแอปได้หากเปิดใช้
FLAG_SECURE
แทนที่จะเห็นภาพหน้าจอของแอป ระบบจะเห็นเพียงหน้าจอว่าง
โควต้าการทดสอบ
ในช่วงเวอร์ชันตัวอย่าง เราจะเสนอการทดสอบที่ AI แนะนำโดยไม่มีค่าใช้จ่าย
ภายในโควต้าที่จำกัด ขีดจำกัดโควต้าเริ่มต้นคือ 200 การทดสอบต่อเดือนต่อโปรเจ็กต์ Firebase
โปรดทราบว่าหากคุณเลือกที่จะเรียกใช้กรณีทดสอบหลายรายการ หรือเรียกใช้กรณีทดสอบเดียวกัน
ในอุปกรณ์หลายเครื่อง ระบบจะนับเป็นการทดสอบหลายรายการ เช่น หากคุณเรียกใช้กรณีทดสอบ 2 รายการในอุปกรณ์ 2 เครื่อง ระบบจะนับเป็นการทดสอบทั้งหมด 4 รายการ
หากต้องการเพิ่มโควต้าให้สูงกว่าขีดจำกัดเริ่มต้น โปรดติดต่อทีมสนับสนุน
Firebase พร้อมแจ้งกรณีการใช้งานของคุณ