คุณใช้ 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

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

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

ตีความผลลัพธ์การช่วยเหลือพิเศษ
การทดสอบ Robo ใช้เครื่องตรวจการเข้าถึงของ Android เพื่อตรวจหาปัญหาด้านการช่วยเหลือพิเศษในแอป (โปรดทราบว่าคุณสามารถเรียกใช้การสแกนในอุปกรณ์ได้ด้วย) ดูวิธีการตรวจสอบและตีความผลลัพธ์การช่วยเหลือพิเศษของการทดสอบ Robo ได้ที่เริ่มต้นใช้งานเครื่องตรวจการเข้าถึง
ดูข้อมูลทั่วไปเกี่ยวกับวิธีปรับปรุงการช่วยเหลือพิเศษของแอปได้ที่เอกสารประกอบเกี่ยวกับการช่วยเหลือพิเศษสำหรับนักพัฒนาแอป Android
เมตริกประสิทธิภาพ
การทดสอบที่ทำงานบนอุปกรณ์จริงจะแสดงเมตริกประสิทธิภาพด้วย ดังนี้
| เมตริก | การกำหนดค่าอุปกรณ์ที่จำเป็น |
|---|---|
| เวลาเริ่มต้นของแอป | API 19 ขึ้นไป |
| การใช้งาน CPU | API 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