วิเคราะห์ผลลัพธ์ของ Firebase Test Lab

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

แนวคิดหลัก

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

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

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

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

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

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

ตีความผลลัพธ์ของประวัติการทดสอบ

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

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

ตีความผลลัพธ์ของเมทริกซ์ทดสอบ

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

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

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

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

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

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

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

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

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

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

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

ผลการทดสอบ Robo

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

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

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

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

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

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

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

ตีความผลลัพธ์การช่วยเหลือพิเศษ

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

ดูข้อมูลทั่วไปเกี่ยวกับวิธีปรับปรุงการช่วยเหลือพิเศษของแอปได้ที่เอกสารประกอบเกี่ยวกับการช่วยเหลือพิเศษสำหรับนักพัฒนาแอป Android

เมตริกประสิทธิภาพ

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

เมตริกการกำหนดค่าอุปกรณ์ที่จำเป็น
เวลาเริ่มต้นของแอปAPI 19 ขึ้นไป
การใช้งาน CPUAPI 21 ขึ้นไป
การใช้งานหน่วยความจำ
กิจกรรมเครือข่าย
เฟรมต่อวินาทีAPI 21 ขึ้นไป และมี SurfaceView

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

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

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

เมื่อทำการทดสอบ หากคุณได้รับข้อผิดพลาด does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. แสดงว่าผู้ที่ทำการทดสอบอาจไม่มีสิทธิ์ที่ถูกต้องในโปรเจ็กต์ โดยค่าเริ่มต้น Firebase จะสร้างที่เก็บข้อมูลให้คุณใน Google Cloud Storage แต่ต้องมีผู้ใช้หลักที่ทำการทดสอบซึ่งมี "roles/editor" ซึ่งเป็นบทบาทที่ได้รับอนุญาต หากไม่สามารถให้บทบาทดังกล่าวแก่ผู้ใช้หลัก คุณสามารถใช้ตัวเลือกบรรทัดคำสั่ง gcloud --results-bucket