คุณใช้ Firebase Test Lab เพื่อเรียกใช้การทดสอบในแอป Android ได้หลายวิธี รวมถึงอินเทอร์เฟซบรรทัดคำสั่ง, Android Studio, Test Lab UI ในคอนโซล Firebase และ Testing API ไม่ว่าคุณจะเลือกเริ่มการทดสอบด้วยวิธีใดก็ตาม ระบบจะจัดเก็บผลลัพธ์ไว้ในโปรเจ็กต์ Firebase ที่คุณระบุ คุณสามารถสำรวจผลลัพธ์ได้โดยใช้ ToolResults API นอกเหนือจากเครื่องมือใดๆ ข้างต้น หน้านี้อธิบายวิธี ตรวจสอบและวิเคราะห์ผลการทดสอบเหล่านี้
แนวคิดหลัก
หากต้องการดูผลลัพธ์จากการทดสอบที่เคยเรียกใช้ทั้งหมด ให้เลือก Test Lab ในแผงการนำทางด้านซ้ายของโปรเจ็กต์ในคอนโซล Firebase หน้านี้แสดงการทดสอบทั้งหมดจากแอปที่คุณทดสอบกับโปรเจ็กต์โดยใช้ Test Lab
หากต้องการตรวจสอบผลการทดสอบ คุณต้องทำความเข้าใจแนวคิด 3 อย่างต่อไปนี้ก่อน
เมื่อคุณเรียกใช้การทดสอบหรือชุดกรณีทดสอบกับอุปกรณ์และการกำหนดค่าที่คุณเลือก Test Lab จะเรียกใช้การทดสอบกับแอปของคุณเป็นชุด จากนั้นจะแสดงผลลัพธ์เป็นเมทริกซ์การทดสอบ
อุปกรณ์ × การทดสอบ = เมทริกซ์การทดสอบ
- อุปกรณ์
- อุปกรณ์จริงหรืออุปกรณ์เสมือน (Android เท่านั้น) ที่คุณใช้ทดสอบ เช่น โทรศัพท์ แท็บเล็ต หรืออุปกรณ์ที่สวมใส่ได้ ระบบจะระบุอุปกรณ์ในตารางทดสอบตาม รุ่นอุปกรณ์, เวอร์ชันของระบบปฏิบัติการ, การวางแนวหน้าจอ และภาษา (หรือที่เรียกว่า การตั้งค่าภูมิศาสตร์และภาษา)
- การทดสอบ การดำเนินการทดสอบ
- การทดสอบ (หรือชุดกรณีทดสอบ) ที่จะเรียกใช้ในอุปกรณ์ คุณสามารถเรียกใช้การทดสอบ 1 รายการต่ออุปกรณ์ หรือจะเลือกแบ่งการทดสอบและเรียกใช้กรณีทดสอบในอุปกรณ์ต่างๆ ก็ได้
- เมทริกซ์ทดสอบ
- มีสถานะและผลการทดสอบสำหรับการดำเนินการทดสอบ หากการทดสอบใดๆ ในเมทริกซ์ไม่สำเร็จ เมทริกซ์ทั้งหมดจะไม่สำเร็จ
ส่วนต่อไปนี้จะอธิบายวิธีไปยังส่วนต่างๆ ของผลการทดสอบ
แปลผลลัพธ์ของประวัติการทดสอบ
เมื่อไปที่ผลการทดสอบโดยเลือก Test Lab คุณจะเห็นผลลัพธ์ของการทดสอบที่ได้ดำเนินการไปแล้วจนถึงตอนนี้
ประวัติการทดสอบจะจัดกลุ่มตามแอป ระบบจะแสดงเฉพาะเมทริกซ์การทดสอบ 5 รายการล่าสุดสำหรับแต่ละแอป หากมีเมทริกซ์เพิ่มเติม คุณสามารถคลิกลิงก์เมทริกซ์ทั้งหมด ที่ด้านล่างของรายการทดสอบแอปเพื่อดูรายการทั้งหมดของแอปนั้น
ตีความผลลัพธ์ของเมทริกซ์ทดสอบ
เมื่อเริ่มการทดสอบผ่าน Test Lab UI ระบบจะ เปลี่ยนเส้นทางคุณไปยังหน้าเว็บที่คุณดูเมทริกซ์การทดสอบและคลิกการ ทดสอบที่เฉพาะเจาะจงเพื่อดูผลการทดสอบได้ Android Studio และคำสั่ง gcloud จะระบุ URL สำหรับหน้าผลลัพธ์ของ Test Matrix ด้วย
ในเมทริกซ์การทดสอบทั่วไป คุณอาจทำการทดสอบในอุปกรณ์ที่แตกต่างกันประมาณ 12 เครื่อง การดำเนินการทดสอบแต่ละครั้งอาจมีผลลัพธ์แตกต่างกัน ผลลัพธ์ที่เป็นไปได้ สำหรับการดำเนินการทดสอบใน Test Matrix มีดังนี้
- ผ่าน
: ไม่พบรายการที่ส่งออกไม่สำเร็จ - ล้มเหลว
: พบข้อผิดพลาดอย่างน้อย 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 ได้