Skip to content

성능테스트, 부하테스트, 스트레스 테스트

hyejung kim edited this page Jan 25, 2022 · 1 revision

본 문서는 현재 개발된 API들이 ec2 서버에 몇 명의 동시 사용자가 접속 가능한지 테스트 하기 앞서 사전 지식을 습득하기 위해 정리한 문서이다.

시스템이 사용자 액티비티가 최고조에 달하는 피크 기간 동안 주요 기능을 수행할 수 있는지 평가하는 것이 필요함.

-> **다중 사용자를 지원 가능한지의 능력 평가가 될 수 **있음. (성능/부하/스트레스 테스트로 수행)

성능테스트(Performance Testing)

  • 언제 부하 수준이 시스템 리소스를 고갈 시킬지 예측하기 위해 측정 데이터를 수집하는 정보 수집 및 분석 프로세스

부하테스트(Load Testing)

  • 시스템 성능이 사전 정의된 부하 요구사항을 충족하는지 확인하기 위해 수행
  • 정상 조건 or 사전 정의된 조건 하에 시스템이 다양한 프로그램 task 및 기능을 수행하는데 걸리는 시간 측정
    • task가 제한 시간 내에 실행되지 못하면 버그 보고서가 제출
  • 최소 구성 수준(minimum configuration levels)과 최대 액티비티 수준(maximum activity levels)을 결정하고 테스트 하는게 좋음

스트레스테스트(Stress Testing)

  • 지정된 운영 한계(operational limits)를 초과할 때 어떻게 반응하는지 평가
  • 과부하 조건에서 시스템 크래시가 발생하는지 or 매끄럽게 복구되는지 확인하는 것이 목표
  • 테스트 시 시스템 리소스를 한계로 몰아 가도록 설계 필요

부하 테스트는 사전 정의된 부하 수준에서 허용할만한 시스템 성능이 나오는지 확인하기 위해 수행되고,

성능 테스트는 다양한 부하 수준에서의 시스템 성능을 확인하기 위해 수행

성능, 부하, 스트레스 테스트는 시스템 에러도 식별 가능하다.

  • 하드웨어 인터럽트로 인한 소프트웨어 실패
  • 메모리 런타임 에러(메모리 누수, 덮어 쓰기, 포인터 에러 등)
  • 데이터베이스 교착상태(deadlocks) //동시성 테스트 가능
  • 멀티스레딩 문제(multithreading problems)

참고 문서 블로그1