วิเคราะห์ผลลัพธ์ของ 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 สำหรับหน้าผลลัพธ์ของเมทริกซ์ทดสอบ ด้วย

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

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