brunch

You can make anything
by writing

C.S.Lewis

by Ruth Hyojin Nam Sep 19. 2023

클라이언트 성능 검증으로 사용자 경험 개선하기

클라이언트 성능 테스트(Client Performance Test)


클라이언트 성능 테스트 

(Client Performance Test)


  클라이언트 성능 테스트는 제품 개발이 완성되는 시점에 진행되는 기술 검증 테스트 중 하나로, 앱 사용 중 FPS / CPU사용량 / GPU사용량 / 사용전력량Battery / 단말기온도Temperature / 메모리Memory사용량 / Network사용량을 측정 및 App의 응답성, 안정성, 신뢰성, 부하가 발생되는 병목구간을 측정하여 어플리케이션 성능 문제점을 확인하고 어플리케이션으로 인해 고객의 단말기 성능을 위해(危害)하는 요인을 찾아 이를 개선하는데 목적이 있습니다. 




  모바일 어플리케이션을 사용할 때 고객은 사용성 측면에서 좋은 응답을 기대합니다. 또한 어플리케이션이 단말기 성능을 저하시키거나 악영향을 끼치는 것을 원하지 않습니다. 따라서 모바일 어플리케이션 개발자들은 어플리케이션을 개발하는 동안 성능적 측면도 고려해야하며, QA의 품질 검증 활동에도 모바일 어플리케이션의 성능 테스트를 진행하여 고객이 느린 응답과 같은 성능 문제를 직면하지 않도록 해야합니다. 


  클라이언트 성능 테스트의 가장 주요한 품질 활동은, 모바일 어플리케이션의 성능을 측정하는데만 있지않습니다. 측정된 자료를 기반으로 QA는 제품 상태를 분석하고 분석된 지표를 이용하여 정확한 개선지점을 지정하고 명확한 품질 개선 요구사항을 전달해야합니다. 



✤ 클라이언트 성능 테스트 벤치마킹 tool

가장 보편적인 tool로 Antutu Benchmark, Geekbench, PCMark, GFXBench Benchmark, Game Bench 등이 있습니다. 


✤ 클라이언트 성능 테스트 진행시 유의사항 

테스트 할 어플리케이션만 활성화된 상태로 테스트를 진행하는 것이 좋습니다. 다른 어플리케이션도 실행중인 상태로 테스트 할 경우 테스트 하고자 하는 앱 성능 지표가 오염될 수 있어서 테스트시 열려있는 다른 어플리케이션은 모두 닫고 테스트할 대상만 포그라운드 상태에서 프로세스를 실행하도록 합니다. 

성능 측정은 최소 1시간이상 진행합니다. 모바일 어플리케이션의 평균적인 성능 데이터 수집과 오랜 시간 사용했을 경우 발생되는 병목구간을 찾기 위해 충분한 테스트 시간이 필요합니다. 


✤ 클라이언트 성능 저하로 발생될 수 있는 이슈 사례

1) 화면 로딩 느림현상 & 버벅임 

2) 발열 (발열로 인한 배터리 수명 단축, CPU 성능 저하 발생)

3) 앱 실행 중 크래시(앱이 강제로 종료되는 현상)되거나 프리징(앱이 멈춤)되는 현상



클라이언트 성능 테스팅


1) 테스트 범위 선정 

클라이언트 성능 테스트의 경우, 테스트할 제품 전체를 대상으로 테스트하지 않습니다. 어플리케이션에서 성능상 문제를 발생시킬 수 있을 예상 요인을 확인하고 예측되는 문제가 발생될 수 있는 기능으로 테스트 범위를 선정합니다. 

ex) e-commerce의 경우, 카테고리별 상품조회/검색/결제/인증프로세스로 선정 


2) 테스트 단말기 선정 

최신 디바이스에서만 성능 테스트를 진행할 경우 미처 테스트하지 못한 오래된 디바이스나 OS에서 문제가 발생될 수 있습니다. 회사 또는 제품이 권장하는 최소사양부터 ~ 최고사양까지 다양한 사양의 단말기와 OS에서 테스트를 반복 수행 하도록 합니다.


3) 테스트 시나리오

클라이언트 성능 테스트의 테스트 시나리오는 기존의 테스트 케이스의 구성과 다릅니다. 즉 실행절차와 기대결과가 존재하지 않습니다. 클라이언트 성능 테스트의 테스트 케이스는 '체크리스트' 형태로 생성하여 테스트하는 단말기와 테스트 구간(기능)별로 측정된 수치값을 입력 & 테스트 수행 중 확인되는 특이사항(화면 버벅임, 발열 등)을 기록하도록 합니다. 입력된 수치값과 클라이언트 성능 품질 지표를 비교 분석하기위한 자료로 테스트 시나리오가 사용됩니다. 


4) 테스트 실행 

  (1) Gamebench 설치 및 실행

      PC에서 OS환경에 맞는 최신 게임벤치 다운로드 및 설치 https://docs.gamebench.net/downloads/ 

     # 사용을 위해 비용지불 및 회원가입이 필요합니다. 

  (2) AOS/iOS 단말기 PC에 연결 

      (a) 연결된 단말기 확인 후 테스트 대상 앱 선택


  (3) 데이터 수집 시작 (테스트 시작)

      (a) 테스트 하고자 하는 디바이스와 App 선택 후 빨간색 레코드 버튼 클릭 

      (b) 테스트 시나리오 따라 테스트 진행

      (c) 레코드는 1시간 이상 진행 
         : 한대의 단말기에서 테스트를 진행하는 동안 recording 을 끊지 않고 이어서 녹화

      (d) recording 중 화면 


  (4) 테스트 종료

      (a) 한대의 단말기에서 테스트 수행이 완료되면 stop 버튼 클릭

      (b) 게임벤치에서 녹화한 데이터를 자동으로 게임벤치 웹으로 동기화 처리한다 

            ‣ recording 종료 후 데이터 확인
            -게임벤치 웹 대시보드 https://web.gamebench.net/dashboard/user/home 

              -Gamebench 웹 페이지 접속 후 로그인 > Sessions 탭 > 목록에서 녹화한 Sessions 클릭 후
             데이터 확인    


  (5) 측정된 데이터 분석 

    (A) 필터 목록에서 테스트한 애플리케이션 선택 

      (a) FPS(초당 프레임)

         : 초당 몇 장의 화면이 지나가는지 나타내는 값. 값이 높을수록 끊김 없이 부드러운 화면이 출력됨.

         [좋은 FPS 결과] 

           (i) Median FPS 평균 프레임을 기준으로 +/- 20%  값으로 유지

         (ii) Stability가 75% 미만의 값이 나오면 평균 프레임의 신뢰성이 떨어진다고 볼 수 있음.  


      (b) CPU 사용량

           [좋은 CPU 사용량 결과]

             (i) Android 평균 사용량 60% 미만 / IOS 평균 사용량 70% 미만이 유지


      (c) GPU 사용량

           [좋은 GPU 사용량 결과]

             (i) 평균 GPU 사용량 30%미만이 유지


      (d) 사용전력량(Battery/Power)

           [좋은 사용전력량 결과]

             (i) 100% 충전된 상태로 (충전기 연결X) 5~7시간 애플리케이션 사용이 가능해야 한다. 

           (ii) 시간당 배터리 소모율이 30% 넘지 않아야 한다.


      (e) 단말기온도(Battery Temperature)

           [좋은 온도 결과]

             (i) 애플리케이션 사용 20분 후 단말기 온도가 섭씨 37.5도 미만이어야 한다.


      (f) 메모리 사용량(Memory)

           [좋은 메모리 사용량 결과]

             (i) 단말기 권장사양에서 메모리 평균 사용율 200MB 이하/최고사양에서 500MB 이하여야 한다.


5) 테스트 결과 분석 및 공유

    측정된 자료와 테스트한 단말기 전체의 수치를 비교 분석하여 개선이 필요한 단말기 또는 구간을 정확

    하게 지정하고 명확한 품질 개선 요구사항을 전달한다. 

    예를들어, 

     1) FPS가 튀거나 드랍되는 영역을 확인하여 애플리케이션의 어느 위치에서 이상현상이 발생되는지 공유

         & FPS가 튀거나 드랍되는 순간 화면상 버벅임이나 딜레이 등 현상이 나타나지 않는지 체크하여 공유    

    2) 테스트 시간이 길어질수록 병목되는 구간이 발생됨으로 인해 화면상 딜레이가 발생, Memory 사용량 

       증가, 발열 온도 상승 등의 현상 공유 


   3) 권장~최고사양에서는 문제없으나 최저사양 단말기에서 이상현상이 발생되는 구간 분석하여 공유 


작가의 이전글 네트워크 조작하여 소프트웨어 검증하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari