คุณใช้ 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 จะแยกการทดสอบแต่ละรายการ ออกเป็นหน้าการรายงานโดยละเอียดของตัวเอง ซึ่งมีสแต็กเทรซ บันทึก และวิดีโอครบถ้วน ฟีเจอร์นี้จะทำงานไม่ว่าคุณจะใช้ 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 ได้