본문 바로가기

Testing/Non-Functional Testing

Performance Testing vs Load Testing vs Stress Testing (Difference) - 부하 테스트

반응형

2) 부하 테스트
부하 테스트는 임계 한계에 도달할 때까지 시스템의 부하를 지속적이고 꾸준히 증가시켜 시스템을 테스트하는 것을 의미합니다. 성능 테스트의 하위 집합입니다.

부하 테스트는 시장에서 사용 가능한 적합한 자동화 도구를 사용하여 쉽게 수행할 수 있습니다. WAPT 및 LoadRunner는 부하 테스트를 지원하는 두 가지 유명한 도구입니다. 부하 테스트는 대량 테스트 및 내구성 테스트와 같은 이름으로도 유명합니다.
그러나 볼륨 테스트는 주로 데이터베이스에 중점을 둡니다. 내구성 테스트는 시스템을 상당한 시간 동안 지속적으로 유지함으로써 시스템을 테스트합니다.
부하 테스트의 유일한 목적은 시스템의 내구성을 테스트하고 결과를 모니터링하기 위해 처리할 수 있는 최대 작업을 시스템에 할당하는 것입니다. 여기서 흥미로운 사실은 제로 로드 상황에서 시스템의 동작을 결정하기 위해 시스템에 빈 작업이 제공되는 경우가 있다는 것입니다.
부하 테스트에서 모니터링 되는 특성에는 성능에 영향을 미치지 않고 처리할 수 있는 사용자 응용 프로그램의 수, H / W 환경의 적합성, 다양한 부하 수준에서의 응답 시간, 서버 처리량, 응답 시간 등이 포함됩니다.

 

부하 테스트 목표 :
부하 테스트의 목표는 다음과 같습니다.
버퍼 오버 플로우, 메모리 누수 및 메모리 관리 실패와 관련된 어플리케이션의 결함을 노출합니다. 로드테스트의 결과로 최종적으로 발생할 수 있는 문제는 로드 균형 문제, 대역폭 문제, 기존 시스템의 용량 등을 포함할 수 있습니다.

데이터베이스, 하드웨어, 네트워크 등과 같은 응용 프로그램의 모든 구성 요소의 상한을 결정하여 응용 프로그램이 향후 예상로드를 관리할 수 있도록 합니다.

응용 프로그램의 SLA를 설정.

 

예:
한 번에 1000 명의 사용자가 넘칠 수 있는 응용 프로그램의 전자 메일 기능을 확인해보십시오. 이제 1000 명의 사용자가 여러 가지 방법으로 전자 메일 트랜잭션 (읽기, 보내기, 삭제, 전달, 회신)을 시작할 수 있습니다.
시간당 사용자 당 하나의 트랜잭션을 수행하면 시간당 1000 트랜잭션이 발생합니다. 사용자 당 10 건의 트랜잭션을 시뮬레이션하여 전자 메일 서버를 10000 건의 트랜잭션으로 점유하여 테스트할 수 있습니다.

위의 이미지는 JMeter라는 도구에서 수행된 부하 테스트를 보여줍니다. 이 테스트는 시스템이 처리 할 수 있는 사용자 수를 식별하기 위해 수행됩니다. 이 테스트에서는 부하가 1000 명에 도달 할 때까지 30 초마다 100 명의 사용자가 추가됩니다. 각 단계는 완료하는 데 30 초가 걸리고 JMeter는 다음 단계를 시작하기 전에 30 초 동안 대기합니다.  로드가 1000 개의 스레드에 도달하면 모든 스레드가 300 초 (5 분) 동안 계속 실행되고 마지막으로 3 초마다 스레드가 중지됩니다.

 

반응형