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

การใช้ Firebase Test Lab เพื่อทำการทดสอบในแอป Android ทำได้หลายวิธี ได้แก่ อินเทอร์เฟซบรรทัดคำสั่ง, Android Studio, UI ของ Test Lab ในคอนโซล Firebase และ Testing API ไม่ว่าคุณจะเลือกเริ่มการทดสอบอย่างไร ผลลัพธ์จะเก็บไว้ในโปรเจ็กต์ Firebase ที่คุณระบุ คุณสำรวจผลลัพธ์ได้โดยใช้ ToolResults API นอกเหนือจากเครื่องมือใดๆ ข้างต้น หน้านี้จะอธิบายวิธีตรวจสอบและวิเคราะห์ผลการทดสอบเหล่านี้

หัวข้อสำคัญ

หากต้องการดูผลลัพธ์จากการทดสอบก่อนหน้านี้ทั้งหมด ให้เลือก Test Lab ในแผงการนำทางด้านซ้ายของโปรเจ็กต์ในคอนโซล Firebase หน้านี้แสดงการทดสอบทั้งหมดจากแอปที่คุณได้ทดสอบกับโปรเจ็กต์โดยใช้ Test Lab

หากต้องการดูผลการทดสอบ ก่อนอื่นคุณต้องเข้าใจแนวคิด 3 ประการต่อไปนี้

เมื่อคุณทำการทดสอบหรือชุดกรอบการทดสอบกับอุปกรณ์และการกำหนดค่าที่คุณได้เลือกไว้ Test Lab จะทดสอบกับแอปของคุณเป็นกลุ่ม จากนั้นแสดงผลลัพธ์เป็นเมทริกซ์ทดสอบ

อุปกรณ์ × การดำเนินการทดสอบ = เมทริกซ์ทดสอบ

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

ส่วนต่อไปนี้จะอธิบายวิธีไปยังส่วนต่างๆ ของผลการทดสอบ

ตีความผลการทดสอบประวัติ

เมื่อไปที่ผลการทดสอบโดยเลือก Test Lab คุณจะเห็นผลการทดสอบที่คุณทำจนถึงตอนนี้

ประวัติการทดสอบจะจัดกลุ่มตามแอป โดยจะแสดง 5 เมทริกซ์ล่าสุดเท่านั้นสำหรับแต่ละแอป หากมีข้อมูลมากกว่านี้ คุณสามารถคลิกลิงก์เมทริกซ์ทั้งหมดที่ด้านล่างของรายการทดสอบแอปเพื่อดูรายการทั้งหมดของแอปนั้นๆ

ตีความผลลัพธ์ของเมทริกซ์ทดสอบ

เมื่อเริ่มการทดสอบผ่าน Test Lab UI ระบบจะนำคุณไปยังหน้าเว็บที่คุณจะเห็นเมทริกซ์ทดสอบของคุณ แล้วคลิกการดำเนินการทดสอบที่ต้องการเพื่อดูผลการทดสอบ Android Studio และคำสั่ง gcloud ระบุ URL สำหรับหน้าผลลัพธ์ของเมทริกซ์ทดสอบด้วย

ในเมทริกซ์ทดสอบทั่วๆ ไป คุณอาจทำการทดสอบในอุปกรณ์ต่างๆ ได้ราว 10 เครื่อง การดำเนินการทดสอบแต่ละครั้งอาจมีผลลัพธ์ที่ต่างกัน ผลลัพธ์ที่เป็นไปได้สำหรับการดำเนินการทดสอบในเมทริกซ์ทดสอบมีดังนี้

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

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

ตัวอย่างหน้าผลการค้นหาของเมทริกซ์ทดสอบที่มีการดำเนินการทดสอบเพียง 4 รายการ ผลการทดสอบเมทริกซ์

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

ตัวอย่างหน้ารายการเมทริกซ์ทดสอบ รายการเมทริกซ์ทดสอบ

เมทริกซ์ทดสอบอาจผ่าน ไม่ผ่าน หรือมีผลสรุปไม่แน่ชัด เมทริกซ์ทดสอบจะแสดงว่าล้มเหลวหรือไม่มีผลสรุปแน่ชัด หากการดำเนินการทดสอบในเมทริกซ์ดังกล่าวล้มเหลวหรือไม่มีผลสรุปแน่ชัด

ตีความผลการทดสอบ Robo

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

วิดีโอตัวอย่างผลการทดสอบ Robo

ผลการทดสอบ Robo

ตีความผลลัพธ์จากการดำเนินการทดสอบเดียว

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

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

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

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

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

ตัวอย่างหน้าผลการค้นหาของกรอบการทดสอบ ผลลัพธ์ของกรอบการทดสอบ

ตีความผลลัพธ์การช่วยเหลือพิเศษ

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

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

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

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

เมตริกการกำหนดค่าอุปกรณ์ที่จำเป็น
เวลาเริ่มต้นของแอปAPI 19 ขึ้นไป
การใช้งาน CPUAPI 21 ขึ้นไป
การใช้งานหน่วยความจำ
กิจกรรมในเครือข่าย
เฟรมต่อวินาทีAPI 21+ และมี SurfaceView
ประสิทธิภาพของกราฟิกAPI 23 ขึ้นไป

รายละเอียดประสิทธิภาพกราฟิก

รายงานประสิทธิภาพกราฟิกมีสถิติของตัวชี้วัดกราฟิกหลักหลายรายการ:

  • Vsync ที่ไม่ได้รับ: จำนวนเหตุการณ์ Vsync ที่ไม่ได้รับ หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 มิลลิวินาที
  • เวลาในการตอบสนองการป้อนข้อมูลสูง: จำนวนเหตุการณ์การป้อนข้อมูลที่ใช้เวลานานกว่า 24 มิลลิวินาที หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 มิลลิวินาที
  • เธรด UI ที่ช้า: จำนวนครั้งที่เธรด UI ใช้เวลานานกว่า 8 มิลลิวินาทีในการทำงาน หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 มิลลิวินาที
  • คำสั่งวาดใช้เวลานาน: จำนวนครั้งที่การส่งคำสั่งวาดไปยัง GPU ใช้เวลานานกว่า 12 ms หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 ms
  • การอัปโหลดบิตแมปที่ช้า: จำนวนครั้งที่บิตแมปใช้เวลานานกว่า 3.2 ms ในการอัปโหลดไปยัง GPU หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 ms
  • เวลาในการแสดงผล: การกระจายของเวลาในการแสดงผลสำหรับแต่ละเฟรมของการเรียกใช้ทดสอบ เวลาแสดงผลที่นานกว่า 32 มิลลิวินาทีทำให้ UI ที่รับรู้ได้ช้าลง เวลาแสดงผล 700 ขึ้นไปแสดงว่าเฟรมค้าง ข้อมูลการแสดงผลรวบรวมมาจาก dumpsys graphicsstats

ผลการทดสอบโดยละเอียด

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

หากต้องการเก็บรักษาผลการทดสอบโดยละเอียดไว้นานกว่า 90 วัน คุณต้องส่งผลการทดสอบเหล่านี้ไปยังที่เก็บข้อมูล Cloud Storage ที่คุณเป็นเจ้าของโดยใช้ตัวเลือกบรรทัดคำสั่ง gcloud ของ --results-bucket จากนั้น คุณสามารถตั้งค่าอายุเพื่อกำหนดระยะเวลาที่จะเก็บผลลัพธ์ในที่เก็บข้อมูล Cloud Storage ดูข้อมูลเกี่ยวกับวิธีเปลี่ยนการตั้งค่าอายุได้ที่เงื่อนไขอายุการใช้งาน