วิเคราะห์ผลลัพธ์ของ Firebase Test Lab

คุณใช้ 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

ผลการทดสอบ Robo

แปลผลการทดสอบจากการดำเนินการทดสอบรายการเดียว

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

ตัวอย่างหน้าผลการดำเนินการทดสอบ ผลการดำเนินการทดสอบ

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

ผลการทดสอบการวัดคุมที่แบ่งพาร์ติชัน

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

ตัวอย่างหน้าผลการทดสอบกรณีทดสอบ ผลการทดสอบ

แปลผลการทดสอบการช่วยเหลือพิเศษ

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

ดูข้อมูลทั่วไปเกี่ยวกับวิธีปรับปรุงการช่วยเหลือพิเศษของแอปได้ที่ เอกสารประกอบเกี่ยวกับการช่วยเหลือพิเศษโดยนักพัฒนาแอป Android

เมตริกประสิทธิภาพ

การทดสอบที่เรียกใช้ในอุปกรณ์จริงจะแสดงเมตริกประสิทธิภาพด้วย ดังนี้

เมตริกการกำหนดค่าอุปกรณ์ที่จำเป็น
เวลาเริ่มต้นของแอปAPI 19 ขึ้นไป
การใช้งาน CPUAPI 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 ได้