측정한 성능 데이터를 기반으로 분석 및 개선하기

2024. 8. 7. 18:20·QA성장하기/테스팅 전문 지식 쌓기
  1.  성능 측정 항목별 데이터 분석
    1. 프레임 속도(FPS)
      • 초당 몇 장의 화면이 지나가는 지 나타내는 값.
      • 값이 높을수록 화면 버벅거림이나 끊임 없이 시각적으로 부드러운 화면이 출력된다.
      • Mediam FPS (FPS 중앙값)
        • 테스트 중 관찰된 일반적인 프레임 속도.
        • 모바일 게임은 60fps, 게임이 아닌 경우 30fps 이상으로 측정되어야 좋다고 평가할 수 있다.
      • FPS Stability (FPS 안정성)
        • 테스트 중 프레임 속도가 FPS중앙값을 기준으로 +/- 20% 로 우지된 정도를 의미한다.
        • 75%미만의 수치가 나오면, 프레임 속도의 신뢰성이 떨어진다고 볼 수 있다.
      • Variability Index  (FPS 안정성 지수)
        • 연속적으로 녹화된 프레임 값 간의 평군 차이를 의미한다.
        • 2 정도가 적당한 수치이다.
    2. CPU 사용량
      • 테스트 중인 애플리케이션이 디바이스의 CPU에 부담을 주는 정도를 의미한다.
      • 높은 CPU 사용량은 디바이스의 과도한 전력 소모, 온도 상승, 디바이스 성능 제한 및 저하가 발생할 수 있다.
      • Average Usage (평균 사용량)
        • 테스트 중 기록된 평균  CPU 사용량을 의미한다.
        • 최대 CPU 용량의 백분율로 표시된다.
        • 수치가 낮을수록 좋은 수치이다.
      • Peak Usage (최고 사용량)
        • 테스트 중 기록된 CPU의 최고 사용량을 의미한다.
    3. GPU 사용량
      • 테스트 중인 애플리케이션이 디바이스 그래픽 프로페서에 부담을 주는 정도를 의미한다.
      • CPU와 다르게, 사용 가능한 GPU용량의 백분율로 표시된다.
      • 즉, GPU 사용량이 높다고 해서 디바이스 총 GPU의 최대치에 도달했다는 의미는 아니다.
      • 높은 GPU 사용량이 장시간 발생하면, 디바이스 성능 병목 현상이 발생할 수 있다.
      • Average Usage (평균 사용량)
        • 테스트 중 기록된 GPU 사용량을 의미한다.
        • 30%미만으로 유지되는 것이 좋다.
    4. 사용 전력량
      • 사용 전력량은 테스트 중인 애플리케이션이 디바이스 배터리 소모에 부담을 주는 정도를 의미한다.
      • 사용 전력량이 높을수록 디바이스 배터리 수명을 단축하고 온도를 상승시켜 부품 손상을 발생시킬 수 있다.
      • Estimated Playtime (예상 재생 시간)
        • 테스트 중인 디바이스의 운영체제가 알려주는 배터리 소모 데이터
        • 100% 충전된 배터리 상태에서 테스트 중인 애플리케이션을 지속적으로 사용 시, 배터리 사용시간이 얼마나 남았는지 알려준다.
        • 예상 재생시간이 높을수록 좋은 수치에 해당된다.
        • 일반적으로 5~7시간 정도의 사용 시간이 남아있는 것이 좋다.
        • 해당 수치 산정을 위해 테스트 수행시간은 길수록 좋고, 최소 20분 이상은 진행하는 것이 좋다.
      • Consumed (소비 전력)
        • 테스트 중인 애플리케이션을 사용하는 동안 테스트 중인 디바이스의 전력 소비량을 의미한다.
        • 전력 사용량은 수치가 낮을수록 애플리케이션 전력 효율이 높음을 의미한다.
    5. 메모리 사용량
      • 테스트 중인 애플리케이션이 디바이스의 메모리 소모에 부담을 주는 정도를 의미한다.
      • 메모리 사용량이 낮을수록 애플리케이션이 최적화된 상태를 나타낸다.
      • 메모리 사용랴잉 높으면 성능 저하로 디바이스 속도가 느려질 수 있고, 애플리케이션 충돌 및 종료될 수 있다.
      • 테스트 진행 중 메모리 사용량이 꾸준히 증가하거나 평균 메모리 사용량과 최고 메모리 사용량 수치 차이가 매우 큰 경우, 메모리 누수가 발생한 상황으로 볼 수 있다.
      • Average Memory Usage (평균 메모리 사용량)
        • 애플리케이션이 평균적으로 사용한 메모리양을 나타낸다.
        • 디바이스 최고 사양에서 메모리 사용량이 500mb 이하로 유지되는 것이 좋다.
      •  Peak Memory Usage (최고 메모리 사용량)
        • 애플리케이션이 최대로 사용한 메모리양을 의미한다.
        • 세션 중간쯤 최고점을 찍은 뒤 일정하게 유지되는 것이 좋다.
    6. 네트워크 사용량
      • 테스트 중 애플리케이션을 사용한 디바이스의 네트워크양을 의미한다.
      • 네트워크 사용량은 낮을수록 좋은 수치에 해당된다.
      • 네트워크 사용량이 높으면 디바이스 속도가 저하될수 있고 전력 사용량을 함께 증가시킬 수 있다.
  2. 측정 데이터의 그래프 분석
    1. 프레임 속도
      • 비 게임은 30fps, 게임은 60fps를 유지하고, 그래프가 +/-20%를 유지하는 것이 좋다.
      • 그래프의 특정 구간이 20%이상 튀거나 떨어질 경우, 해당 영역을 확인하여 이상 영역을 확인한다.
      • 불안정한 프레임 속도를 보이는 경우, 그 원인을 찾아 제거하거나 수정해야 한다.
      • 만약 최저 사양의 프레임 중앙값과 안정성이 기준보다 낮게 측정된다면, 최저 사양 디바이스를 높은 사양으로 조정하거나 최적화 개선을 진행한다.
    2. CPU 사용
      • 안드로이드는 60%미만, iOS는 70% 미만을 유지하는 것이좋다.
      • 특정 구간이 평균 사용량보다 10~15% 이상 튈 경우, 해당 영역을 확인한다.
      • 테스트 시간이 길어질수록 그래프가 비정상적으로 측정되는 구간이 없는지 확인하여 병목구간을 지정한다.
      • 아래 그리프를 보면, 전체적으로 안정적인 CPU 사용량을 보이나, 일부에서 CPU사용량이 치솟는다.
        다만 최고 사용량도 60%를 넘지 않아서 위험한 수치가 아니고 이상 현상도 확인되지 않는다.
      • 만약, 전반적으로 CPU 사용량이 높은 상태라면 렌더링 구조를 확인하고 사용량 개선을 진행한다.
    3. 메모리 사용량
      • 권장 사양 디바이스에서 200MB 이하, 최고 사양 디바이스에서 500MB 이하를 유지하는 것이 좋다.
      • 평균 메모리 사용량이 높고 시간이 지날수록 사용량이 증가하는 그래프는 메모리가 누수일 가능성이 있다.
      • 아래 그리프를 보면, 시간이 지날수록 메모리 사용량이 증가하고 Peak Memory Usage 는 637MB 이다.
        위 경우, 성능 저하나 애플리케이션 중단, 발열 등의 이상현상을 확인하고 결과를 공유해야 한다.
      • 데이터 교환 횟수로 인한 오버헤드가 발생하는 지 확인하고 메모리 해소를 위한 작업이 필요하다.

'QA성장하기 > 테스팅 전문 지식 쌓기' 카테고리의 다른 글

서버 부하 테스트 전략과 프로세스, 분석 방법  (0) 2024.08.09
자동화 테스트의 의미와 계획과 설계 방법  (0) 2024.08.08
게임 벤치 스튜디오 프로 데스크탑 설치 및 사용해보기  (0) 2024.08.06
클라이언트 성능 테스트 의미와 목적, 준비하기  (1) 2024.08.05
네트워크 에뮬레이터 키트 (NEWT for windows) 설치 및 사용방법.  (0) 2024.08.02
'QA성장하기/테스팅 전문 지식 쌓기' 카테고리의 다른 글
  • 서버 부하 테스트 전략과 프로세스, 분석 방법
  • 자동화 테스트의 의미와 계획과 설계 방법
  • 게임 벤치 스튜디오 프로 데스크탑 설치 및 사용해보기
  • 클라이언트 성능 테스트 의미와 목적, 준비하기
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (170)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (30)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
      • 에러일기 (1)
      • Server&load (32)
        • AWS (27)
        • Jmeter (0)
        • load test (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    쿠버네티스
    vi에디터
    테스트 계획서 만들어보기
    로스트아크api
    application log
    python
    e2c
    애플리케이션로그
    API
    네트워크 테스트
    공존성테스트
    LOSTARK
    postman
    QAKOREA
    cka
    개발자에서아키텍트로
    포스트맨
    k8s
    앱공존성
    스터디
    linux
    qa
    도커
    사드웨어리소스
    로스트아크
    리눅스
    테스트스크립트
    테스트 결과보고서
    테스트 계획서
    .cpu
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
측정한 성능 데이터를 기반으로 분석 및 개선하기
상단으로

티스토리툴바