부하 테스트란 무엇입니까? (예시)
부하 테스트란 무엇입니까?
부하 테스트 특정 예상 부하에서 소프트웨어 애플리케이션의 성능을 테스트하는 비기능적 소프트웨어 테스트 프로세스입니다. 여러 사용자가 동시에 액세스하는 동안 소프트웨어 애플리케이션이 어떻게 동작하는지 확인합니다. 부하 테스트의 목표는 성능 병목 현상을 개선하고 배포 전에 소프트웨어 애플리케이션의 안정성과 원활한 기능을 보장하는 것입니다.
이 테스트는 일반적으로 다음을 식별합니다.
- 애플리케이션의 최대 작동 용량
- 현재 인프라가 애플리케이션을 실행하기에 충분한지 확인
- 최대 사용자 로드에 대한 애플리케이션의 지속 가능성
- 애플리케이션이 지원할 수 있는 동시 사용자 수 및 더 많은 사용자가 액세스할 수 있는 확장성입니다.
비기능 테스트의 일종이다. 소프트웨어 엔지니어링에서 부하 테스트는 인트라넷과 인터넷 모두에서 웹 기반 애플리케이션인 클라이언트/서버에 일반적으로 사용됩니다.
부하 테스트의 필요성
매우 인기가 높은 일부 사이트는 엄청난 양의 트래픽이 발생하면서 심각한 다운타임을 겪었습니다. 전자 상거래 웹 사이트는 광고 캠페인에 많은 투자를 하지만 해당 마케팅으로 트래픽이 발생할 때 최적의 시스템 성능을 보장하기 위한 부하 테스트에는 투자하지 않습니다.
다음 부하 테스트 예를 고려하십시오.
- 인기 장난감 매장인 Toysrus.com은 광고 캠페인으로 인해 발생하는 트래픽 증가를 처리할 수 없어 마케팅 비용과 장난감 판매 가능성 모두 손실을 입었습니다.
- 항공사 웹사이트는 축제 기간 동안 10000명 이상의 사용자를 처리할 수 없었습니다.
- Encyclopedia Britannica는 온라인 데이터베이스에 대한 무료 액세스를 프로모션 혜택으로 선언했습니다. 그들은 몇 주 동안 폭주하는 트래픽을 따라잡을 수 없었습니다.
많은 사이트는 트래픽이 많을 때 로드 시간이 지연되는 문제를 겪습니다. 몇 가지 사실 –
- 대부분의 사용자는 페이지 로드가 8초 지연된 후 클릭하여 페이지를 떠납니다.
- $ 4.4 Bill실적 부진으로 매년 손실 발생
부하 테스트를 수행하는 이유는 무엇입니까?
- 부하 테스트는 시스템과 시스템의 신뢰성 및 성능에 대한 확신을 줍니다.
- 부하 테스트는 프로덕션 환경에서 발생하기 전에 과도한 사용자 스트레스 시나리오에서 시스템의 병목 현상을 식별하는 데 도움이 됩니다.
- 부하 테스트는 성능 저하에 대한 탁월한 보호 기능을 제공하고 성능 관리 및 프로덕션 환경 모니터링을 위한 보완 전략을 수용합니다.
부하 테스트의 목표
로딩 테스트는 애플리케이션을 시장이나 프로덕션에 출시하기 전에 다음과 같은 문제를 식별합니다.
- 각 트랜잭션의 응답 시간
- 다양한 부하에서 시스템 구성 요소의 성능
- 다양한 로드 하에서 데이터베이스 구성요소의 성능
- 클라이언트와 서버 간의 네트워크 지연
- 소프트웨어 설계 문제
- 웹 서버, 애플리케이션 서버, 데이터베이스 서버 등과 같은 서버 구성 문제
- CPU 최대화, 메모리 제한, 네트워크 병목 현상 등과 같은 하드웨어 제한 문제
부하 테스트는 성능을 향상시키기 위해 시스템을 미세 조정해야 하는지 또는 하드웨어 및 소프트웨어를 수정해야 하는지 여부를 결정합니다. 부하 테스트를 효과적으로 수행하기 위해 다양한 활용 방법을 활용할 수 있습니다. 성능 테스트 도구 개선이 필요한 영역을 식별하는 데 도움이 되는 정보입니다.
부하 테스트의 전제 조건
부하 테스트의 주요 지표는 응답 시간입니다. 부하 테스트를 시작하기 전에 다음을 결정해야 합니다.
- 응답 시간이 이미 측정 및 비교되었는지 여부 – 정량적
- 응답 시간이 비즈니스 프로세스에 적용 가능한지 여부 – 관련
- 응답시간의 정당성 여부 – 현실적
- 응답 시간 달성 가능 여부 - 달성 가능
- 도구나 스톱워치를 사용하여 응답 시간을 측정할 수 있는지 여부 – 측정 가능
부하 테스트를 시작하기 전에 환경을 설정해야 합니다.
하드웨어 플랫폼 | 소프트웨어 구성 |
---|---|
|
|
부하 테스트 전략
부하 테스트를 수행하는 방법은 여러 가지가 있습니다. 다음은 몇 가지 부하 테스트 전략입니다.
- 수동 부하 테스트: 이는 부하 테스트를 실행하는 전략 중 하나이지만 반복 가능한 결과를 생성하지 못하고 애플리케이션에 측정 가능한 수준의 스트레스를 제공할 수 없으며 조정이 불가능한 프로세스입니다.
- 자체 개발된 부하 테스트 도구: 부하 테스트의 중요성을 인식한 조직에서는 부하 테스트를 실행하기 위한 자체 도구를 구축할 수 있습니다.
- 오픈 소스 부하 테스트 도구: 무료로 오픈 소스로 제공되는 여러 가지 부하 테스트 도구가 있습니다. 유료 제품만큼 정교하지는 않지만 예산이 충분하다면 최선의 선택입니다.
- 엔터프라이즈급 부하 테스트 도구: 일반적으로 캡처/재생 기능이 함께 제공됩니다. 그들은 많은 수의 프로토콜을 지원합니다. 매우 많은 수의 사용자를 시뮬레이션할 수 있습니다.
부하 테스트를 수행하는 방법
부하 테스트 프로세스는 다음과 같이 간략하게 설명할 수 있습니다.
- 전용 만들기 테스트 환경 부하 테스트를 위해
- 다음을 결정하십시오
- 부하 테스트 시나리오
- 애플리케이션에 대한 부하 테스트 트랜잭션 결정
- 각 거래에 대한 데이터 준비
- 시스템에 액세스하는 사용자 수를 예측해야 합니다.
- 연결 속도를 결정합니다. 일부 사용자는 임대 회선을 통해 연결되고 다른 사용자는 전화 접속을 사용할 수 있습니다.
- 사용자가 사용하는 다양한 브라우저와 운영 체제를 확인하세요.
- 웹, 애플리케이션, DB 서버 등 모든 서버 구성
- 테스트 시나리오 실행 및 모니터링. 다양한 지표 수집
- 결과를 분석하십시오. 추천하기
- 시스템 미세 조정
- 재시험
부하 테스트 지침
- 애플리케이션이 기능적으로 안정되면 부하 테스트를 계획해야 합니다.
- 데이터 풀에는 고유한 대량의 데이터가 준비되어 있어야 합니다.
- 시나리오나 스크립트별로 사용자 수를 결정해야 합니다.
- 디스크 IO 공간을 절약하기 위해 자세한 로그 생성을 피하세요.
- 사이트에서 이미지 다운로드를 피하십시오
- 부하 테스트 테스트 케이스를 실행하는 과정에서 경과 시간에 따른 응답 시간의 일관성을 기록하고 이를 다양한 테스트 실행과 비교해야 합니다.
부하 테스트와 스트레스 테스트의 차이점
부하 테스트 | 스트레스 테스트 |
---|---|
부하 테스트는 다양한 작업 부하 하에서 시스템의 병목 현상을 식별하고 부하가 점차 증가할 때 시스템이 어떻게 반응하는지 확인합니다. | 스트레스 테스트 시스템의 중단점을 결정하여 중단 후 최대 지점을 나타냅니다. |
시스템의 상한을 인식하려면 앱의 SLA를 설정하고 시스템이 과부하를 어떻게 처리할 수 있는지 확인합니다. | 극심한 부하에서 시스템이 어떻게 작동하는지, 장애로부터 어떻게 복구하는지 확인합니다. |
웹 애플리케이션에서 증가된 로드를 생성하는 것이 로드 테스트의 주요 목표입니다. | 스트레스 테스트는 상당한 기간 동안 갑자기 높은 부하가 발생하는 경우 서버가 충돌하지 않도록 하는 것을 목표로 합니다. |
부하 테스트에서 확인하는 속성은 최대 성능, 서버 수량, 응답 시간입니다. | 이러한 종류의 테스트는 안정성 응답 시간 등을 확인합니다. |
부하 테스트에서 부하 제한은 중단의 임계값입니다. | 스트레스 테스트에서 로드 제한은 중단 임계값보다 높습니다. |
기능 테스트와 부하 테스트의 차이점
기능 테스트 | 부하 테스트 |
---|---|
적절한 단계와 사전 조건이 정의되어 있으므로 기능 테스트 결과를 쉽게 예측할 수 있습니다. | 부하 테스트 결과를 예측할 수 없습니다. |
기능 테스트 결과는 약간씩 다릅니다. | 부하 테스트 결과는 매우 다양합니다. |
실행 빈도 기능 테스트 높을 것이다 | 부하 테스트 실행 빈도가 낮습니다. |
기능 테스트 결과는 테스트 데이터에 따라 다릅니다. | 부하 테스트는 사용자 수에 따라 다릅니다. |
부하 테스트 도구
로드 러너 :
로드 러너는 정상 및 최대 로드 조건에서 애플리케이션을 테스트하는 데 사용되는 HP 도구입니다. Load Runner는 네트워크 트래픽을 에뮬레이트하는 가상 사용자를 생성하여 로드를 생성합니다. 프로덕션 환경과 같은 실시간 사용을 시뮬레이션하고 그래픽 결과를 제공합니다.
로드러너에 대해 자세히 알아보기 LINK.
부하 테스트의 장점과 단점
부하 테스트의 장점은 다음과 같습니다.
- 생산 전 성능 병목 현상 식별
- 시스템의 확장성을 향상시킵니다.
- 시스템 다운타임과 관련된 위험 최소화
- 실패 비용 감소
- 고객 만족도 향상
부하 테스트의 단점:
- 소프트웨어 테스팅의 맥락에서 부하 테스트를 수행하기 위한 도구를 사용하려면 프로그래밍 지식이 필요합니다.
- 가격은 지원되는 가상 사용자 수에 따라 달라지므로 도구 비용이 많이 들 수 있습니다.
제품 개요
- 부하 테스트는 실제 부하 조건에서 시스템 성능을 결정하는 소프트웨어 테스트 유형으로 정의됩니다.
- 로드 테스트는 일반적으로 애플리케이션을 프로덕션에 사용하기 전에 애플리케이션의 성능 병목 현상, 확장성 및 안정성을 개선합니다.
- 이 테스트는 애플리케이션의 최대 작동 용량과 시스템 병목 현상을 파악하는 데 도움이 됩니다.
- 부하 테스트 소프트웨어 테스팅 무시할 경우 조직에 금전적 손실을 초래할 수 있으므로 중요합니다.