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