Firebase is back at Google I/O on May 10! Register now

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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

มีหลายวิธีในการใช้ 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 คุณจะเห็นผลการทดสอบที่คุณดำเนินการไปแล้ว

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

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

เมื่อเริ่มการทดสอบผ่าน 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+

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

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

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

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

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

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