การใช้ Firebase Test Lab เพื่อทำการทดสอบในแอป Android ทำได้หลายวิธี ได้แก่ อินเทอร์เฟซบรรทัดคำสั่ง, Android Studio, UI ของ Test Lab ในคอนโซล Firebase และ Testing API ไม่ว่าคุณจะเลือกเริ่มการทดสอบอย่างไร ผลลัพธ์จะเก็บไว้ในโปรเจ็กต์ Firebase ที่คุณระบุ คุณสำรวจผลลัพธ์ได้โดยใช้ ToolResults API นอกเหนือจากเครื่องมือใดๆ ข้างต้น หน้านี้จะอธิบายวิธีตรวจสอบและวิเคราะห์ผลการทดสอบเหล่านี้
หัวข้อสำคัญ
หากต้องการดูผลลัพธ์จากการทดสอบก่อนหน้านี้ทั้งหมด ให้เลือก Test Lab ในแผงการนำทางด้านซ้ายของโปรเจ็กต์ในคอนโซล Firebase หน้านี้แสดงการทดสอบทั้งหมดจากแอปที่คุณได้ทดสอบกับโปรเจ็กต์โดยใช้ Test Lab
หากต้องการดูผลการทดสอบ ก่อนอื่นคุณต้องเข้าใจแนวคิด 3 ประการต่อไปนี้
เมื่อคุณทำการทดสอบหรือชุดกรอบการทดสอบกับอุปกรณ์และการกำหนดค่าที่คุณได้เลือกไว้ Test Lab จะทดสอบกับแอปของคุณเป็นกลุ่ม จากนั้นแสดงผลลัพธ์เป็นเมทริกซ์ทดสอบ
อุปกรณ์ × การดำเนินการทดสอบ = เมทริกซ์ทดสอบ
- อุปกรณ์
- อุปกรณ์จริงหรืออุปกรณ์เสมือน (Android เท่านั้น) ที่คุณทำการทดสอบ เช่น โทรศัพท์ แท็บเล็ต หรืออุปกรณ์ที่สวมใส่ได้ ระบบจะระบุอุปกรณ์ในเมทริกซ์ทดสอบตามรุ่นของอุปกรณ์ เวอร์ชันของระบบปฏิบัติการ การวางแนวหน้าจอ และภาษา (หรือที่เรียกว่าการตั้งค่าภูมิศาสตร์และภาษา)
- ทดสอบ ทดสอบการดำเนินการ
- การทดสอบ (หรือชุดกรณีการทดสอบ) ที่จะเรียกใช้ในอุปกรณ์ คุณสามารถทำการทดสอบ 1 รายการต่ออุปกรณ์ 1 เครื่อง หรือเลือกที่จะชาร์ดการทดสอบแล้วเรียกใช้กรอบการทดสอบบนอุปกรณ์ต่างๆ ก็ได้
- เมทริกซ์ทดสอบ
- ประกอบด้วยสถานะและผลการทดสอบสำหรับการดำเนินการทดสอบของคุณ หากการดำเนินการทดสอบในเมทริกซ์ล้มเหลว เมทริกซ์ทั้งหมดจะล้มเหลว
ส่วนต่อไปนี้จะอธิบายวิธีไปยังส่วนต่างๆ ของผลการทดสอบ
ตีความผลการทดสอบประวัติ
เมื่อไปที่ผลการทดสอบโดยเลือก Test Lab คุณจะเห็นผลการทดสอบที่คุณทำจนถึงตอนนี้
ประวัติการทดสอบจะจัดกลุ่มตามแอป โดยจะแสดง 5 เมทริกซ์ล่าสุดเท่านั้นสำหรับแต่ละแอป หากมีข้อมูลมากกว่านี้ คุณสามารถคลิกลิงก์เมทริกซ์ทั้งหมดที่ด้านล่างของรายการทดสอบแอปเพื่อดูรายการทั้งหมดของแอปนั้นๆ
ตีความผลลัพธ์ของเมทริกซ์ทดสอบ
เมื่อเริ่มการทดสอบผ่าน Test Lab UI ระบบจะนำคุณไปยังหน้าเว็บที่คุณจะเห็นเมทริกซ์ทดสอบของคุณ แล้วคลิกการดำเนินการทดสอบที่ต้องการเพื่อดูผลการทดสอบ Android Studio และคำสั่ง gcloud ระบุ URL สำหรับหน้าผลลัพธ์ของเมทริกซ์ทดสอบด้วย
ในเมทริกซ์ทดสอบทั่วๆ ไป คุณอาจทำการทดสอบในอุปกรณ์ต่างๆ ได้ราว 10 เครื่อง การดำเนินการทดสอบแต่ละครั้งอาจมีผลลัพธ์ที่ต่างกัน ผลลัพธ์ที่เป็นไปได้สำหรับการดำเนินการทดสอบในเมทริกซ์ทดสอบมีดังนี้
- ผ่าน : ไม่พบความล้มเหลว
- ไม่สำเร็จ : พบความล้มเหลวอย่างน้อย 1 รายการ
- ไม่มีผลสรุปแน่ชัด : ผลการทดสอบไม่มีข้อสรุปที่แน่ชัด ซึ่งอาจเป็นเพราะข้อผิดพลาดของ Test Lab
- ข้าม : ค่ามิติข้อมูลที่เลือกสำหรับการดำเนินการทดสอบบางรายการในเมทริกซ์ไม่สอดคล้องกัน ซึ่งจะเกิดขึ้นเมื่ออุปกรณ์ที่คุณเลือกไม่สามารถใช้งานร่วมกับระดับ API ของ Android อย่างน้อย 1 ระดับที่คุณเลือก
หากต้องการดูผลการทดสอบรวมของเมทริกซ์ทดสอบทั้งหมดของแอปหนึ่งๆ ในโปรเจ็กต์ Firebase ให้คลิกชื่อแอป ดังตัวอย่างต่อไปนี้
ตัวอย่างหน้าผลการค้นหาของเมทริกซ์ทดสอบที่มีการดำเนินการทดสอบเพียง 4 รายการ
การดำเนินการนี้จะนำคุณไปยังรายการเมทริกซ์ทดสอบของแอป ซึ่งคุณจะคลิกชื่อเมทริกซ์ทดสอบใดก็ได้เพื่อดูผลลัพธ์ของเมทริกซ์ทดสอบ และคลิกชื่อแอป (แสดงในช่องสีแดงด้านล่าง) เพื่อดูรายการเมทริกซ์ทดสอบสำหรับแอปอื่นๆ ที่เชื่อมโยงกับโปรเจ็กต์ Firebase ได้
ตัวอย่างหน้ารายการเมทริกซ์ทดสอบ
เมทริกซ์ทดสอบอาจผ่าน ไม่ผ่าน หรือมีผลสรุปไม่แน่ชัด เมทริกซ์ทดสอบจะแสดงว่าล้มเหลวหรือไม่มีผลสรุปแน่ชัด หากการดำเนินการทดสอบในเมทริกซ์ดังกล่าวล้มเหลวหรือไม่มีผลสรุปแน่ชัด
ตีความผลการทดสอบ Robo
หากคุณทำการทดสอบกับ Robo ผลลัพธ์จะมีวิดีโอและภาพหน้าจอของ Robo การรวบรวมข้อมูล UI เพิ่มเติมจากเมตริกการทดสอบตามปกติ วิดีโอและภาพหน้าจอดังกล่าวมีภาพบ่งชี้การดำเนินการที่ Robo ทำระหว่างการรวบรวมข้อมูล คล้ายกับฟีเจอร์ "แสดงการแตะ" ใน Android คุณสามารถใช้สัญญาณบอกสถานะเพื่อช่วยติดตามความคืบหน้าของ Robo และจำลองข้อบกพร่องที่อาจพบได้
วิดีโอตัวอย่างผลการทดสอบ Robo
ตีความผลลัพธ์จากการดำเนินการทดสอบเดียว
จากหน้าผลลัพธ์ของเมทริกซ์ทดสอบ คลิกที่การดำเนินการทดสอบรายการใดรายการหนึ่งเพื่อดูผลลัพธ์ของการดำเนินการทดสอบที่เฉพาะเจาะจงนั้น
ตัวอย่างหน้าผลการค้นหาของการดำเนินการทดสอบ
ในหน้านี้ คุณจะเห็นเวลาที่ใช้ในการทดสอบแต่ละครั้ง คุณยังจะเห็นผลลัพธ์ของกรอบการทดสอบที่เฉพาะเจาะจงที่สอดคล้องกับเมธอดใน APK การทดสอบ (สำหรับการทดสอบการใช้เครื่องมือ) และผลการทดสอบโดยละเอียด ซึ่งรวมถึงบันทึกการทดสอบ ภาพหน้าจอ และวิดีโอ สำหรับการทดสอบ Robo ผลการทดสอบโดยละเอียดจะมีแผนที่กิจกรรมที่แสดงเส้นทาง UI ที่การทดสอบ Robo เข้าชมในกราฟิกด้วย
ผลการทดสอบการวัดคุมการแบ่งพาร์ติชัน
Test Lab จะแยกการทดสอบแต่ละรายการออกเป็นหน้ารายงานโดยละเอียดของการทดสอบนั้นๆ ซึ่งมีสแต็กเทรซ บันทึก และวิดีโอ เพื่อช่วยคุณตีความผลการทดสอบแบบมีการวัด ฟีเจอร์นี้จะทำงานได้ไม่ว่าคุณจะใช้ Android Orchestrator หรือไม่ก็ตาม
ตัวอย่างหน้าผลการค้นหาของกรอบการทดสอบ
ตีความผลลัพธ์การช่วยเหลือพิเศษ
การทดสอบ Robo ใช้เครื่องตรวจการเข้าถึงของ Android เพื่อตรวจหาปัญหาการช่วยเหลือพิเศษในแอป (โปรดทราบว่าคุณยังเรียกใช้การสแกนในอุปกรณ์ได้ด้วย) ดูวิธีการตรวจสอบและตีความผลการทดสอบการช่วยเหลือพิเศษของการทดสอบ Robo ได้ที่เริ่มต้นใช้งานเครื่องตรวจการเข้าถึง
สำหรับข้อมูลทั่วไปเกี่ยวกับวิธีปรับปรุงการช่วยเหลือพิเศษของแอป โปรดไปที่เอกสารเกี่ยวกับการช่วยเหลือพิเศษของนักพัฒนาซอฟต์แวร์ Android
เมตริกประสิทธิภาพ
การทดสอบที่ดำเนินการบนอุปกรณ์จริงยังแสดงเมตริกประสิทธิภาพดังต่อไปนี้ด้วย
เมตริก | การกำหนดค่าอุปกรณ์ที่จำเป็น |
---|---|
เวลาเริ่มต้นของแอป | API 19 ขึ้นไป |
การใช้งาน CPU | API 21 ขึ้นไป |
การใช้งานหน่วยความจำ | |
กิจกรรมในเครือข่าย | |
เฟรมต่อวินาที | API 21+ และมี SurfaceView |
ประสิทธิภาพของกราฟิก | API 23 ขึ้นไป |
รายละเอียดประสิทธิภาพกราฟิก
รายงานประสิทธิภาพกราฟิกมีสถิติของตัวชี้วัดกราฟิกหลักหลายรายการ:
- Vsync ที่ไม่ได้รับ: จำนวนเหตุการณ์ Vsync ที่ไม่ได้รับ หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 มิลลิวินาที
- เวลาในการตอบสนองการป้อนข้อมูลสูง: จำนวนเหตุการณ์การป้อนข้อมูลที่ใช้เวลานานกว่า 24 มิลลิวินาที หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 มิลลิวินาที
- เธรด UI ที่ช้า: จำนวนครั้งที่เธรด UI ใช้เวลานานกว่า 8 มิลลิวินาทีในการทำงาน หารด้วยจำนวนเฟรมที่ใช้เวลาแสดงผลนานกว่า 16 มิลลิวินาที
- คำสั่งวาดใช้เวลานาน: จำนวนครั้งที่การส่งคำสั่งวาดไปยัง 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 ที่คุณเป็นเจ้าของโดยใช้ตัวเลือกบรรทัดคำสั่ง gcloud ของ --results-bucket จากนั้น คุณสามารถตั้งค่าอายุเพื่อกำหนดระยะเวลาที่จะเก็บผลลัพธ์ในที่เก็บข้อมูล Cloud Storage ดูข้อมูลเกี่ยวกับวิธีเปลี่ยนการตั้งค่าอายุได้ที่เงื่อนไขอายุการใช้งาน