본문 바로가기

Testing/Non-Functional Testing

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

반응형

3) 스트레스 테스트
스트레스 테스트에서 초과 근무로 기존 자원을 과부하하는 다양한 활동이 시스템을 중단시키려는 시도로 수행됩니다. 스트레스 테스트의 일부로 시스템에서 구성 요소를 제거하는 등의 부정적인 테스트도 수행됩니다.
피로 테스트라고도 하는 이 테스트는 대역폭 용량 이상으로 테스트하여 애플리케이션의 안정성을 포착해야 합니다.
따라서 기본적으로 스트레스 테스트는 최고 로드 및 정상 조건을 넘어서 애플리케이션의 동작을 평가합니다.

스트레스 테스트의 목적은 시스템의 실패를 확인하고 시스템이 어떻게 정상적으로 회복되는지 모니터링하는 것입니다. 여기서 가장 어려운 것은 예상치 못한 상황에서 시스템의 동작을 반복적으로 정확하게 포착할 수 있도록 테스트를 시작하기 전에 제어된 환경을 설정하는 것입니다.
스트레스 테스트의 결과로 결국 발생할 수 있는 문제는 동기화 문제, 메모리 누출, 경쟁 조건 등을 포함할 수 있습니다. 스트레스 테스트가 사용자 수가 갑자기 증가하는 상황에서 시스템이 어떻게 작동하는지 확인하는 경우, 그다음 스파이크 테스트라고 합니다.
스트레스 테스트가 사용자 수의 증가로 인해 일정 기간 동안 시스템의 지속 가능성을 점검하는 것이라면 이를 침적 테스트 (soak test)라고 합니다.

 

스트레스 테스트 목표 :
스트레스 테스트의 목표는 사고 후 보고서를 분석하여 실패 후 응용 프로그램의 동작을 정의하는 것입니다.
가장 큰 과제는 시스템이 장애 발생 후 중요한 데이터의 보안을 손상시키지 않도록 하는 것입니다. 성공적인 스트레스 테스트에서 시스템은 가장 심각한 고장 이후에도 모든 구성 요소와 함께 정상 상태로 돌아옵니다.

 

예:
예를 들어, OpenOffice.org의 Writer1.1.0과 같은 워드 프로세서는 편지, 프레젠테이션, 스프레드 시트 등의 개발에 사용됩니다. 스트레스 테스트의 목적은 초과 문자로 로드하는 것입니다.
이를 위해 많은 양의 텍스트를 처리하는 임계값 한도에 도달 할 때까지 한 줄의 데이터를 반복해서 붙여 넣습니다. 문자 크기가 65,535 자에 도달하자마자 더 많은 데이터를 받아들이지 않습니다.
Writer 1.1.0의 스트레스 테스트 결과 스트레스 하에서 충돌이 발생하지 않고 상황을 정상적으로 처리하여 응용 프로그램이 엄격한 스트레스 조건 하에서도 올바르게 작동하는지 확인합니다.

반응형