วิเคราะห์ผลห้องปฏิบัติการทดสอบ Firebase

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

แนวคิดหลัก

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตีความผลการช่วยสำหรับการเข้าถึง

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

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

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

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

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

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

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

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

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

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

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