개요
어플리케이션 또는 모듈 단위로 개발이 완료되면 컴퓨터에 사용되는 자원 대비 컴퓨터가 수행하는 작업량을 확인을 한다.
- 응답속도나 단위 시간당 일 처리량 등을 측정해본다.
- 요청에 처리하기 위해 소요되는 응답시간은 클라이언트에서 측정하고, 단위 시간당 시스템에서 처리되고 있는 처리량은 서버에서 측정한다.
테스트의 목표
- 안정적인 서비스를 위해 안정성 확보
- 문제점 및 개선점을 파악하여 성능을 향상
- 장애로 인한 데이터 손실, 신뢰도 저하, 추가비용 발생을 미연에 방지
- 서버의 최적화를 위해 서버환경 검사
목적에 따라 테스트를 분류한다.
- 단위 테스트 - 단위 별 업무의 최대한의 성능을 측정하는 단계
- 통합테스트 - 목표를 정해놓고 계산된 부하를 발생시켜 측정하는 단계
- 입계테스트 - 정해놓은 목표없이 도출할 수 있는 최대 성능을 측정하는 단계
테스트 종류
smoke-testing(연기 테스트)
연기 테스트는 최소 부하로 구성된 일반 부하 테스트입니다.
load-testing(부하 테스트)
부하 테스트는 주로 동시 사용자 또는 초당 요청 측면에서 시스템의 현재 성능을 평가하는 것과 관련이 있습니다.
부하 테스트는 정상 및 최대 조건에서 시스템의 동작을 결정하는 데 사용되는 일종의 성능 테스트입니다.
부하 테스트는 많은 사용자가 동시에 액세스할 때 응용 프로그램이 만족스럽게 수행되는지 확인하는 데 사용됩니다.
부하 테스트 시나리오 - 정상적인 하루 시뮬레이션
stress-testing (스트레스 테스트)
스트레스 테스트는 시스템의 한계를 결정하는 데 사용되는 부하 테스트 유형입니다. 이 테스트의 목적은 극한 조건에서 시스템의 안정성과 신뢰성을 검증하는 것 입니다.
spike-testing(스파이크 테스트)
스파이크 테스트는 극심한 부하 급증으로 시스템을 즉시 압도하는 스트레스 테스트 유형입니다.
soak-testing(소크 테스트)
부하 테스트 는 주로 성능 평가와 관련이 있고 스트레스 테스트 는 극한 조건에서의 시스템 안정성 과 관련이 있는 반면 , 소크 테스트는 장기간에 걸친 안정성과 관련이 있습니다.
테스트 결과서의 구성
- 성능테스트 개요
- 목표 및 평가 기준
- 테스트 환경
- 테스트 시나리오
- 테스트 결과
- 테스트 결과 상세
성능테스트 개요
- 개요: 성능테스트의 목적과 활용성(예: 성능테스트는 테스트 대상 애플리케이션에 현재 또는 미래에 예상되는 수준의 최대부하를 발생시켜 성능목표의 만족여부를 확인한다)
- 일정: 성능테스트의 준비와 수행 일정 및 장소
- 주요내용: 테스트의 기본조건과 측정방식(예: 서버에 jmeter 으로 부하를 가하고, 목표에 따라 모니터링하여 응답시간 및 시스템 자원을 측정)
목표 및 평가 기준
- 테스트의 목적과 평가 기준에 대한 내용
- 목적별 성능목표와 테스트 방법(예: 목적-어플리케이션의 신뢰성 확인 / 성능목표 - 최고 부하 시 애플리케이션에 오류가 발생하지 않아야함 / 방법 - 부하상활에서의 에플리케이션의 오류 확인)
테스트 환경
- 테스트 환경의 시스템 구성에 대한 설명
- 테스트를 수행하는 하드웨어와 소프트웨어(운영체제 등)에 대한 설명
- 특히 부하발생 환경에 대한 내용이 필수
테스트 시나리오
- 시스템 화면별 테스트 케이스 목록을 기재
- 세부 화면도 모두 포함하여 테스트 대상으로 선정
테스트 결과
- 테스트 시나리오에 따라 테스트를 진행하고 단말 수, 요청 수, 평균응답시간, 최소응답시간, 최대 응답시간, 오류등 빠짐없이 기재
- 전체 성능테스트 결과를 통합하여 기재하고 주요내용에 대한 설명을 추가
테스트 결과 상세
- 테스트 결과 데이터를 테스트 시나리오별로 모두 첨부
- 요약 보고서, 데이터 테이블, 응답시간 그래프 등의 자료를 활용