Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

วิเคราะห์ผลห้องปฏิบัติการทดสอบ 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 ได้ ดู เงื่อนไขวงจรชีวิต สำหรับข้อมูลเกี่ยวกับวิธีการเปลี่ยนการตั้งค่า อายุ