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

คุณใช้ Firebase Test Lab เพื่อเรียกใช้การทดสอบในแอป Android ได้หลายวิธี รวมถึงอินเทอร์เฟซบรรทัดคำสั่ง, Android Studio, Test Lab UI ในคอนโซล 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 วัน คุณสามารถ ส่งผลการทดสอบเหล่านี้ไปยัง Bucket Cloud Storage ที่คุณเป็นเจ้าของได้โดยใช้ ตัวเลือกบรรทัดคำสั่ง --results-bucket ของ gcloud จากนั้นคุณสามารถตั้งค่าอายุเพื่อกำหนดระยะเวลาที่ระบบจะจัดเก็บผลการค้นหาใน ที่เก็บข้อมูล 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 จะสร้าง Bucket ให้คุณใน Google Cloud Storage แต่ต้องให้ผู้ใช้หลักที่เรียกใช้การทดสอบมี "roles/editor" ซึ่งเป็นบทบาทที่อนุญาต หากให้บทบาทดังกล่าวแก่ผู้ใช้ไม่ได้ คุณสามารถใช้ตัวเลือกบรรทัดคำสั่ง gcloud --results-bucket ได้