이미지

성능시험

성능시험이란?

성능시험이란 서비스 및 서비스 시스템의 성능을 확인하기 위해 실제 사용 환경과 비슷한 환경에서 테스트를 진행하는 것을 말합니다.
성능시험 대상 시스템에 대한 목표치를 설정하고 목표치를 달성할 때까지 반복적인 시험을 수행하여 성능 시험 결과 분석을 통해 시스템을 개선함으로써 대상 시스템의 성능과 안정성(Stability)을 확보하는 일련의 활동이라고 정의할 수 있습니다.

성능시험의 필요성

성능시험은 일종의 소프트웨어 시험으로 실제 환경에서 발생 가능한 성능 병목 현상을 제거함을 목적으로 합니다.
최근 시스템의 기능 보다 응답 시간, 안정성, 리소스 사용 및 확장성 등과 같은 응용 프로그램의 성능에 대한 중요성이 점차 커지고 있습니다.
이에 제품 출시 전 성능시험을 통해 서버가 몇 명의 동시 접속자를 케어할 수 있는지, 부하가 많이 발생하는 지점은 어딘지 등 성능 문제점을 파악하고 개선할 수 있습니다.

성능시험 유형

분류 기준 성능테스트 유형 상세 설명
목적 분류 단위 성능테스트 대상 시스템을 업무 단위로 각각 테스트 수행
복합 성능테스트 실제 사용자 사용 패턴을 적용하여 동시 사용자 및 가중치를 주어 실제 시스템이 사용되는 상황을 재현하여 테스트 수행
임계 성능테스트 시스템이 최대한 발휘할 수 있는 성능 측정
방법 분류 루프백 테스트 시스템의 특정 지점 이후로 트랜잭션이 발생되지 않도록 하는 테스트 방법 (병목 지점 도출 목적)
스파이크 테스트 사용자 트랜잭션을 동시에 발생시켜 점검하는 테스트
확장성 테스트 확장 계수를 산정하여 확장성 보장 여부 테스트
가용성 테스트 트랜잭션을 특정 기간 동안 발생시키면서 시스템 상황 점검 및 테스트

연구활동

성능시험은 서비스 및 시스템의 가용성 및 효율성을 측정하는 테스트 영역으로 다양한 성능시험 도구와 지표가 존재합니다.
와이즈스톤 ICT시험인증연구소는 시험 목적에 부합하는 도구와 품질 지표를 선정하고, 시험 결과를 분석해 성능을 개선할 수 있도록 지속적인 연구를 수행합니다.

성능시험 품질지표

[품질 지표]

국제표준 ISO/IEC 25023의 품질 특성 중 성능 효율성 항목에 해당하는 품질 지표를 기준으로 성능시험을 수행합니다.
성능 효율성
(Performance
efficiency
measures)
부특성 품질 지표
시간 반응성
(8.3.1 Time behaviour measures)
평균 응답 시간 (Mean response time)
응답 시간 적절성 (Response time adequacy)
평균 소요 시간 (Mean turnaround time)
처리 시간의 적절성 (Turnaround time adequacy)
평균 처리량 (Mean throughput)
자원 효율성
(8.3.2 Resource utilization measures)
평균 프로세서 사용률 (Mean processor utilization)
평균 메모리 사용률 (Mean memory utilization)
평균 I/O 장치 사용률 (Mean I/O devices utilization)
대역폭 사용률 (Bandwidth utilization)
용량성
(8.3.3 Capacity measures)
트랜잭션 처리 용량 (Transaction processing capacity)
사용자 액세스 용량 (User access capacity)
사용자 액세스 증가 적절성 (User access increase adequacy)

[주요 품질 지표]

위 품질 지표 중 성능시험에서 자주 사용되는 주요 품질 지표입니다.
품질 지표 설명 측정 방법
평균 응답 시간 시스템이 사용자 작업 또는 시스템 작업에 응답하는 평균 시간 측정 시스템이 사용자 또는 시스템 작업 요청에 대해 응답하는 시간 측정
평균 소요 시간 작업 또는 비 동기 프로세스 완료에 걸리는 평균 소요시간 측정 어떤 동작을 처리하는 것에 대한 소요 시간 측정
평균 처리량 단위 시간당 평균 완료 작업 수 측정 시스템에서 초당 처리되는 트랜잭션 수 측정
평균 프로세서 사용률 작업시간과 비교하여 주어진 작업 집합을 실행하는데 사용된 프로세서의 사용률 측정 시스템 구동/사용 시 CPU 사용률 측정
평균 메모리 사용률 사용 가능한 메모리와 비교하여 주어진 작업 집합을 실행하는데 사용되는 메모리의 사용률 측정 시스템 구동/사용 시 메모리 사용률 측정
사용자 액세스 용량 특정 시간에 얼마나 많은 사용자가 동시에 시스템에 액세스 할 수 있는지 측정 시스템에 동시 접속 가능한 수 측정

시험 사례

  • 사례1

    웹 기반 서비스 (공통)

    시험 대상 특성
    Eggplant, JMeter, LoadRunner 등 성능시험 도구를 테스트 환경과 목적에 맞게 선정

    시험 항목 및 시험 방법

    품질 지표 시험 방법 시험 도구(예시)
    평균 응답 시간 웹페이지에서 검색어 입력 후 검색 버튼을 클릭한 시점부터 검색 결과가 출력된 시점까지 시간 측정 Stopwatch
    평균 응답 시간 웹페이지에 로그인을 시도한 시점부터 로그인이 완료되어 메인화면에 로그인 정보가 출력된 시점까지 시간 측정 Apache JMeter
    평균 처리 시간 미디어 배포를 시작하고 배포를 시작한 시점부터 배포가 완료된 시점까지의 소요 시간을 로그로 측정 Log
    평균 처리량 초당 50명의 사용자가 동시에 의뢰 요청하는 스크립트를 실행하여 초당 처리 수 측정 Apache JMeter
    평균 프로세서 사용률 시스템에서 화면 분할 모니터링 기능 동작 시 CPU 사용률 측정 Perfmon
    평균 메모리 사용률 시스템에서 영상 속 번호판 검출 기능 동작 시 메모리 사용률 측정 Perfmon
    사용자 액세스 용량 50명의 사용자가 동시에 의뢰 요청하고 10분 동안 유지하는 스크립트를 실행하여 에러가 없는지 측정 Apache JMeter