5G 테스트

Android 11 이상을 실행하는 기기를 대상으로 Android 커뮤니케이션 테스트 모음(ACTS)은 단일 기기 및 여러 기기 환경을 위한 핵심 5G NSA 사용 사례를 지원합니다. 이 페이지에서는 ACTS를 통해 기기의 5G NSA 네트워크 연결 여부를 감지하고 네트워크에 연결되어 있도록 하는 방법을 다루며, 테스트 경로 구조를 간략하게 설명합니다.

감지

Android 11부터 5G를 감지하는 API가 Android 프레임워크에 포함됩니다. 자세한 내용은 5G 감지를 참고하세요.

Android용 스크립팅 레이어(SL4A)는 PhoneStateListener를 통해 LISTEN_DISPLAY_INFO_CHANGED 이벤트를 수신하고 onDisplayInfoChanged() 메서드를 재정의하여 5G 감지를 지원합니다. SL4A는 다음 값을 사용하여 5G 연결 유형을 NSA(비독립형), mmWave(밀리미터파), SA(독립형)로 구분합니다.

연결 유형
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 네트워크에 연결되어 있도록 합니다.

테스트 경로 및 테스트 구조

모든 ACTS 전화 통신 테스트(1400+)는 tel 디렉터리에 포함됩니다. 5G 테스트는 tools/test/connectivity/acts\_tests/tests/google/nr/ 디렉터리에 있습니다(nr은 새 라디오를 의미함). 5G 무선 액세스 기술(RAT)이 도입되면서 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: 5G NSA에 연결된 기기를 통한 Wi-Fi 테더링을 확인합니다.

    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]

문제 해결

테스트 실패 시 ACTS 테스트를 실행하지 않고 API 응답을 분류하려면 다음 명령어를 사용하세요.

>> 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}