คุณใช้ Firebase Test Lab เพื่อเรียกใช้การทดสอบใน แอป Android ได้หลายวิธี ซึ่งรวมถึงอินเทอร์เฟซบรรทัดคำสั่ง, Android Studio, Test Lab UI ใน Firebase และ Testing API ไม่ว่าคุณจะเลือกเริ่มการทดสอบด้วยวิธีใด ระบบจะจัดเก็บผลการทดสอบไว้ในโปรเจ็กต์ Firebase ที่คุณระบุ คุณสามารถสำรวจผลการทดสอบได้โดยใช้ ToolResults API นอกเหนือจากเครื่องมือใดก็ได้ที่กล่าวมาข้างต้น หน้านี้อธิบายวิธีตรวจสอบและวิเคราะห์ผลการทดสอบเหล่านี้
แนวคิดหลัก
ในคอนโซล Firebase คุณจะดูผลการทดสอบทั้งหมดที่เคยเรียกใช้ได้โดยไปที่DevOps และการมีส่วนร่วม > Test Lab หน้านี้จะแสดงผลการทดสอบโดยละเอียดทั้งหมดจากการเรียกใช้การทดสอบจากแอปที่คุณทดสอบด้วยโปรเจ็กต์โดยใช้ Test Lab
หากต้องการตรวจสอบผลการทดสอบ คุณต้องทำความเข้าใจแนวคิด 3 ข้อต่อไปนี้ก่อน
เมื่อคุณเรียกใช้การทดสอบหรือชุดกรณีทดสอบกับอุปกรณ์และการกำหนดค่า ที่คุณเลือกไว้ Test Lab จะเรียกใช้การทดสอบกับแอปของคุณเป็นชุด จากนั้น จะแสดงผลการทดสอบเป็น เมทริกซ์ทดสอบ
อุปกรณ์ × การดำเนินการทดสอบ = เมทริกซ์ทดสอบ
- อุปกรณ์
- อุปกรณ์จริงหรืออุปกรณ์เสมือน (Android เท่านั้น) ที่คุณเรียกใช้การทดสอบ เช่น โทรศัพท์ แท็บเล็ต หรืออุปกรณ์สวมใส่ ระบบจะระบุอุปกรณ์ในเมทริกซ์ทดสอบตามรุ่นของอุปกรณ์, เวอร์ชันของระบบปฏิบัติการ, การวางแนวหน้าจอ และภาษา (หรือที่เรียกว่าการตั้งค่าภูมิศาสตร์และภาษา)
- การทดสอบ, การดำเนินการทดสอบ
- การทดสอบ (หรือชุดกรณีทดสอบ) ที่จะเรียกใช้ในอุปกรณ์ คุณสามารถเรียกใช้การทดสอบ 1 รายการต่ออุปกรณ์ หรือเลือกแบ่งการทดสอบออกเป็นส่วนๆ และเรียกใช้กรณีทดสอบในอุปกรณ์ต่างๆ
- เมทริกซ์ทดสอบ
- มีสถานะและผลการทดสอบสำหรับการดำเนินการทดสอบ หากการดำเนินการทดสอบรายการใดรายการหนึ่งในเมทริกซ์ไม่สำเร็จ เมทริกซ์ทั้งหมดจะไม่สำเร็จ
ส่วนต่อไปนี้จะอธิบายวิธีดูผลการทดสอบ
แปลผลประวัติการทดสอบ
เมื่อไปที่ผลการทดสอบโดยเลือก Test Lab คุณจะเห็น ผลการทดสอบที่เรียกใช้ไปแล้ว
ระบบจะจัดกลุ่มประวัติการทดสอบตามแอป โดยจะแสดงเมทริกซ์ทดสอบ 5 รายการล่าสุดสำหรับแต่ละแอป หากมีเมทริกซ์ทดสอบมากกว่านี้ คุณสามารถคลิกลิงก์เมทริกซ์ทั้งหมด ที่ด้านล่างของรายการการทดสอบแอปเพื่อดูรายการทั้งหมดสำหรับแอปนั้น
แปลผลเมทริกซ์ทดสอบ
เมื่อเริ่มการทดสอบผ่าน Test Lab UI ระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าที่คุณสามารถดูเมทริกซ์ทดสอบและคลิกการดำเนินการทดสอบที่เฉพาะเจาะจงเพื่อดูผลการทดสอบ Android Studio และ คำสั่ง gcloud ยังมี URL สำหรับหน้าผลการทดสอบเมทริกซ์ ด้วย
ในเมทริกซ์ทดสอบทั่วไป คุณอาจเรียกใช้การทดสอบในอุปกรณ์ต่างๆ ประมาณ 12 เครื่อง การดำเนินการทดสอบแต่ละรายการอาจมีผลลัพธ์ที่แตกต่างกัน ผลลัพธ์ที่เป็นไปได้สำหรับการดำเนินการทดสอบใดๆ ในเมทริกซ์ทดสอบมีดังนี้
- ผ่าน
: ไม่พบรายการที่ดำเนินการไม่สำเร็จ - ไม่ผ่าน
: พบรายการที่ดำเนินการไม่สำเร็จอย่างน้อย 1 รายการ - สรุปไม่ได้
: ผลการทดสอบสรุปไม่ได้ ซึ่งอาจเกิดจากข้อผิดพลาด
Test Lab - ข้าม
: ค่ามิติข้อมูลที่เลือก
สำหรับการดำเนินการทดสอบบางรายการในเมทริกซ์ใช้ร่วมกันไม่ได้ ข้อผิดพลาดนี้จะเกิดขึ้นเมื่ออุปกรณ์ที่คุณเลือกใช้ร่วมกับระดับ API ของ Android อย่างน้อย 1 ระดับที่คุณเลือกไม่ได้
หากต้องการตรวจสอบผลการทดสอบที่รวบรวมไว้สำหรับเมทริกซ์ทดสอบทั้งหมดของแอปที่ต้องการในโปรเจ็กต์ Firebase ให้คลิกชื่อแอปตามที่แสดงในตัวอย่างต่อไปนี้
หน้าผลการทดสอบเมทริกซ์ตัวอย่างที่มีการดำเนินการทดสอบเพียง 4 รายการ

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

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

แปลผลการดำเนินการทดสอบรายการเดียว
จากหน้าผลการทดสอบเมทริกซ์ ให้คลิกการดำเนินการทดสอบรายการใดรายการหนึ่งเพื่อดูผลการดำเนินการทดสอบนั้นๆ
หน้าตัวอย่างผลการดำเนินการทดสอบ

ในหน้านี้ คุณจะเห็นเวลาที่ใช้สำหรับการดำเนินการทดสอบแต่ละรายการ นอกจากนี้ คุณยังดูผลการทดสอบสำหรับกรณีทดสอบที่เฉพาะเจาะจงซึ่งสอดคล้องกับเมธอดใน APK ทดสอบ (สำหรับการทดสอบเครื่องมือ) และผลการทดสอบโดยละเอียด ซึ่งรวมถึงบันทึกการทดสอบ ภาพหน้าจอ และวิดีโอได้ด้วย สำหรับการทดสอบ Robo ผลการทดสอบ โดยละเอียดจะรวมถึงแผนที่กิจกรรมที่แสดงเส้นทาง UI ที่ การทดสอบ Robo เข้าชมเป็นกราฟิกด้วย
ผลการทดสอบเครื่องมือที่แบ่งพาร์ติชัน
Test Lab จะแยกการทดสอบแต่ละรายการ ออกเป็นหน้าการรายงานโดยละเอียดของตัวเอง ซึ่งมีสแต็กเทรซ บันทึก และวิดีโอ เพื่อช่วยคุณแปลผลการทดสอบเครื่องมือTest Lab ฟีเจอร์นี้จะทำงานไม่ว่าคุณจะใช้ Android Orchestrator หรือไม่ก็ตาม
หน้าตัวอย่างผลการทดสอบกรณีทดสอบ

แปลผลการทดสอบการช่วยเหลือพิเศษ
การทดสอบ Robo ใช้เครื่องตรวจการเข้าถึงของ Android เพื่อตรวจหาปัญหาการช่วยเหลือพิเศษในแอป (โปรดทราบว่าคุณยังเรียกใช้การสแกนในอุปกรณ์ได้ด้วย) ดูวิธีการตรวจสอบและแปลผลการทดสอบการช่วยเหลือพิเศษของการทดสอบ Robo ได้ที่ เริ่มต้นใช้งานเครื่องตรวจการเข้าถึง
ดูข้อมูลทั่วไปเกี่ยวกับวิธีปรับปรุงการช่วยเหลือพิเศษของแอปได้ที่ เอกสารเกี่ยวกับการช่วยเหลือพิเศษโดยนักพัฒนาแอป Android
เมตริกประสิทธิภาพ
การทดสอบที่เรียกใช้ในอุปกรณ์จริงจะแสดงเมตริกประสิทธิภาพด้วย ดังนี้
| เมตริก | การกำหนดค่าอุปกรณ์ที่จำเป็น |
|---|---|
| เวลาเริ่มต้นของแอป | API 19 ขึ้นไป |
| การใช้งาน CPU | API 21 ขึ้นไป |
| การใช้งานหน่วยความจำ | |
| กิจกรรมเครือข่าย | |
| เฟรมต่อวินาที | API 21 ขึ้นไปและมี SurfaceView |
ผลการทดสอบโดยละเอียด
ผลการทดสอบโดยละเอียดจะพร้อมใช้งานเป็นเวลา 90 วันหลังจากที่คุณเรียกใช้การทดสอบ และจะ จัดเก็บไว้ในบัคเก็ต Google Cloud Storage (แต่จะปรากฏในคอนโซล Firebase ด้วย) คุณดูผลการทดสอบโดยละเอียดได้ในCloud Storage บัคเก็ตเมื่อคลิกผลการทดสอบ ในหน้าผลการดำเนินการทดสอบ เมื่อผลการทดสอบโดยละเอียดไม่พร้อมใช้งานแล้ว คุณจะยังดูได้ว่าการทดสอบใดผ่านหรือไม่ผ่าน
หากต้องการเก็บผลการทดสอบโดยละเอียดไว้นานกว่า 90 วัน คุณสามารถ ส่งผลการทดสอบเหล่านี้ไปยังบัคเก็ตCloud Storageที่คุณเป็นเจ้าของได้โดยใช้ --results-bucketตัวเลือกบรรทัดคำสั่ง gcloud จากนั้นตั้งค่าอายุ เพื่อกำหนดระยะเวลาที่จะจัดเก็บผลการทดสอบไว้ใน บัคเก็ตCloud Storage ดูข้อมูลเกี่ยวกับวิธีเปลี่ยนการตั้งค่าอายุ ได้ที่ เงื่อนไขวงจรการใช้งาน
เมื่อเรียกใช้การทดสอบ หากคุณได้รับข้อผิดพลาด does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. แสดงว่าผู้ใช้หลักที่เรียกใช้การทดสอบอาจไม่มีสิทธิ์ที่ถูกต้องในโปรเจ็กต์ โดยค่าเริ่มต้น Firebase จะสร้างบัคเก็ตให้คุณใน Google Cloud Storage แต่กำหนดให้ผู้ใช้หลักที่เรียกใช้การทดสอบต้องมีบทบาท "roles/editor" ซึ่งเป็นบทบาทที่อนุญาต หากคุณไม่สามารถมอบบทบาทดังกล่าวให้กับผู้ใช้หลักได้ คุณสามารถใช้ตัวเลือกบรรทัดคำสั่ง gcloud --results-bucket