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