การทดสอบ 5G

สำหรับอุปกรณ์ที่ใช้ Android 11 ขึ้นไป ชุดทดสอบการสื่อสารของ Android (ACTS) จะรองรับกรณีการใช้งานหลักของ 5G NSA สำหรับสภาพแวดล้อมแบบอุปกรณ์เดียวและหลายอุปกรณ์ หน้านี้กล่าวถึงวิธีที่ ACTS ตรวจหาและตรวจสอบว่าอุปกรณ์เชื่อมต่อกับเครือข่าย 5G NSA และแสดงภาพรวมของโครงสร้างเส้นทางทดสอบ

การตรวจจับ

ตั้งแต่ Android 11 เฟรมเวิร์ก Android มี API เพื่อตรวจหา 5G ดูรายละเอียดเพิ่มเติมได้ที่การตรวจจับ 5G

Scripting Layer For Android (SL4A) รองรับการตรวจจับ 5G โดยการฟังเหตุการณ์ LISTEN_DISPLAY_INFO_CHANGED จาก PhoneStateListener และลบล้างเมธอด onDisplayInfoChanged() SL4A ใช้ค่าต่อไปนี้เพื่อแยกความแตกต่างระหว่างประเภทการเชื่อมต่อ NSA (ไม่สแตนด์อโลน), mmWave (คลื่นมิลลิเมตร) และ SA (สแตนด์อโลน) สำหรับ 5G

ประเภทการเชื่อมต่อ ค่า
5G NSA TelephonyManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

5G mmWave TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G SA TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

การทดสอบ ACTS ใช้วิธีการ is_current_network_5g_nsa() เพื่อตรวจสอบว่าอุปกรณ์เชื่อมต่อกับเครือข่าย 5G NSA

เส้นทางทดสอบและโครงสร้างการทดสอบ

การทดสอบทางโทรศัพท์ทั้งหมด (1,400+) ใน ACTS เป็นส่วนหนึ่งของไดเรกทอรี tel การทดสอบ 5G จะอยู่ในไดเรกทอรี tools/test/connectivity/acts\_tests/tests/google/nr/ (nr ย่อมาจาก New Radio) เมื่อเปิดตัวเทคโนโลยีการเข้าถึงระบบเครือข่ายไร้สาย (RAT) 5G การทดสอบ 5G จะแยกจาก 4G, 3G, 2G และ 1x สำหรับสภาพแวดล้อมเครือข่ายจริงเพื่อให้การทดสอบ ACTS ปรับขนาดได้และเป็นอิสระ

ต่อไปนี้อธิบายคลาสการทดสอบสำหรับการทดสอบ 5G

  • Nsa5gActivationTest: ตรวจสอบว่าอุปกรณ์เครื่องเดียวเชื่อมต่อกับ 5G NSA จากรัฐต่างๆ อย่างถูกต้องหรือไม่

    test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot
    test_5g_nsa_activation_from_3g
    
  • Nsa5gVoiceTest: ยืนยันฟังก์ชันการโทรด้วยเสียงระหว่างอุปกรณ์หลายเครื่อง

    test_5g_nsa_call_volte_to_volte test_5g_nsa_call_volte_to_3g
    test_5g_nsa_call_volte_mo_hold_unhold
    test_5g_nsa_call_mo_volte_in_active_data_transfer
    test_5g_nsa_volte_in_call_wifi_toggling
    
  • Nsa5gDataTest: ตรวจสอบฟังก์ชันการทำงานของข้อมูล เช่น การท่องเว็บ การหยุดทำงานของข้อมูล และการวัด

    test_5g_nsa_data_browsing test_5g_nsa_data_stall_recovery
    test_5g_nsa_metered_cellular test_5g_nsa_metered_airplane
    test_5g_nsa_metered_wifi
    
  • Nsa5gSmsTest: ยืนยันการส่งและการรับข้อความ SMS ระหว่างอุปกรณ์หลายเครื่อง

    test_5g_nsa_sms_mo_mt test_5g_nsa_sms_mo_mt_volte
    test_5g_nsa_sms_mo_mt_in_call_volte test_5g_nsa_sms_mo_mt_iwlan
    test_5g_nsa_sms_mo_mt_in_call_iwlan
    
  • Nsa5gMmsTest: ยืนยันการส่งและรับข้อความ MMS ระหว่างอุปกรณ์หลายเครื่อง

    test_5g_nsa_mms_mo_mt test_5g_nsa_mms_mo_mt_in_call_volte
    test_5g_nsa_mms_mo_mt_iwlan_apm_off test_5g_nsa_mms_mo_mt_in_call_iwlan
    test_5g_nsa_mms_mo_mt_in_call_volte_wifi
    
  • Nsa5gTetheringTest: ยืนยันการเชื่อมต่ออินเทอร์เน็ตผ่าน Wi-Fi ผ่านอุปกรณ์ที่เชื่อมต่อกับ 5G NSA

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

ตัวอย่างเอาต์พุตการทดสอบ

หากต้องการยืนยันว่าอุปกรณ์ใช้ 5G NSA ให้ตรวจสอบข้อความบันทึกต่อไปนี้ใน test_run_info.txt

INFO [AndroidDevice|<SERIAL_ID>] Current ModePref for Sub 2 is in
NETWORK_MODE_NR_LTE_GSM_WCDMA [tel_test_utils.py:set_preferred_network_mode_pref:7634]
INFO [AndroidDevice|<SERIAL_ID>] Got expected event {'name': 'DisplayInfoChanged',
'data': {'override': 'NR_NSA', 'network': 'LTE', 'subscriptionId': 2147483647},
'time': 1611094526689} [tel_5g_utils.py:is_current_network_5g_nsa:58]

การแก้ปัญหา

หากต้องการแยกแยะการตอบกลับของ API โดยไม่ต้องทำการทดสอบ ACTS ในระหว่างที่เกิดความล้มเหลว ให้ใช้คำสั่งต่อไปนี้

>> python3
>> from acts.controllers.android_device import AndroidDevice; ad = AndroidDevice('<SERIAL_ID>'); a, b = ad.get_droid()
>> a.telephonyStartTrackingDisplayInfoChange()
>> b.start()
>> b.wait_for_event("DisplayInfoChanged", lambda _: True, timeout=30)

{'name': 'DisplayInfoChanged', 'data': 'TelephonyDisplayInfo {network=LTE, override=LTE_CA, 'time': 1586483596907}