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

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

แนวคิดหลัก

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ผลการทดสอบโรโบ

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

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

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

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

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

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

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

ตีความผลลัพธ์การเข้าถึง

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

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

การวัดประสิทธิภาพ

การทดสอบที่ทำงานบนอุปกรณ์จริงยังส่งคืนตัวชี้วัดประสิทธิภาพด้วย:

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

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

รายงานประสิทธิภาพกราฟิกประกอบด้วยสถิติเกี่ยวกับเมตริกกราฟิกที่สำคัญหลายประการ:

  • Missed Vsync: จำนวนเหตุการณ์ Vsync ที่พลาด หารด้วยจำนวนเฟรมที่ใช้เวลาเรนเดอร์นานกว่า 16 ms
  • เวลาแฝงอินพุตสูง: จำนวนเหตุการณ์อินพุตที่ใช้เวลานานกว่า 24 ms หารด้วยจำนวนเฟรมที่ใช้เวลาเรนเดอร์นานกว่า 16 ms
  • เธรด UI ที่ช้า: จำนวนครั้งที่เธรด UI ใช้เวลาดำเนินการมากกว่า 8 ms หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 ms
  • คำสั่งวาดช้า: จำนวนครั้งที่การส่งคำสั่งวาดไปยัง 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 ที่คุณเป็นเจ้าของโดยใช้ ตัวเลือกบรรทัดคำสั่ง --results-bucket gcloud จากนั้น คุณจะตั้งค่า อายุ เพื่อกำหนดระยะเวลาที่จะเก็บผลลัพธ์ไว้ในที่เก็บข้อมูล Cloud Storage ของคุณได้ ดู เงื่อนไขวงจรการใช้งาน สำหรับข้อมูลเกี่ยวกับวิธีการเปลี่ยนการตั้งค่า อายุ