성능 테스트
성능 테스트는 소프트웨어 제품의 성능을 확인하기 위한 테스트 프로세스입니다.
일반적으로 특정 워크로드 하에서 시스템이 응답성 및 안정성 측면에서 어떻게 수행되는지 결정하기 위해 실행되는 테스트 연습입니다. 또한 확장 성,안정성 및 리소스 사용과 같은 시스템의 다른 품질 속성을 측정,검증 또는 확인하는 역할을 할 수 있습니다.
성능 테스트 유형:
-로드: 응용 프로그램이 많은 양의 데이터를 처리하는 방법을 결정합니다.
-스트레스:활동의 피크 버스트에서 응용 프로그램 동작을 검사합니다.
-용량:전체 용량을 측정하고 응답 시간이 용납 될 수없는 시간 결정
위험을 줄이고 비용을 최소화하며 주어진 프로젝트 과정에서 적절한 테스트를 적용 할시기를 알기 위해서는 성능 테스트 유형의 차이를 인식하는 것이 매우 중요합니다.
성능 테스트 과정에서 다른 테스트 유형을 적용하기 위해 핵심 포인트를 평가해야합니다. 성능 테스트의 목표 및 성능 테스트의 컨텍스트(예:관련된 리소스,비용 및 테스트 노력의 잠재적 수익)입니다.
다음은 성능 테스트의 하위 장르:
-부하 테스트는 특정 예상 부하에 대한 응용 프로그램의 성능을 검사하기 위해 수행됩니다. 특정 기간에 응용 프로그램에서 특정 작업을 수행하는 사용자 수를 늘리면 부하가 증가할 수 있습니다.
-스트레스 테스트는 지정된 요구 사항의 한계를 넘어 사용자 수를 늘려 시스템 성능을 평가하기 위해 수행됩니다. 이 응용 프로그램이 충돌 할 수있는 수준에서 이해하기 위해 수행됩니다.
-볼륨 테스트는 효율적이고 효과적으로 처리 할 수있는 데이터의 양을 결정하기 위해 응용 프로그램을 테스트합니다.
-스파이크 테스트는 갑자기 많은 수의 사용자가 증가 또는 감소 할 때 응용 프로그램에서 어떤 변경 사항이 발생하는지 보여줍니다.
-담그기 테스트는 오랜 기간 동안 부하를 적용 할 때 응용 프로그램 동작과 응용 프로그램의 안정성 및 응답 시간에 어떤 일이 발생하는지 이해하기 위해 수행됩니다.
성능 테스트를 확인하기 위해 필요합니다:
-의도 된 사용자 수에 대한 응용 프로그램의 응답 시간
-응용 프로그램의 저항 용량의 최대 부하.
-특정 수의 트랜잭션을 처리 할 수있는 응용 프로그램의 용량.
-예상 및 예기치 않은 사용자 부하에서 응용 프로그램의 안정성.
-사용자가 가진 적절한 응답 시간.
설계 중에 응용 프로그램의 성능 테스트를 시작할 수 있습니다. 성능 테스트의 실행 후,수집 된 결과는 성능을 향상시키기 위해 분석된다. 그런 다음 성능 튜닝 프로세스는 응용 프로그램 개발 라이프 사이클 전반에 걸쳐 수행됩니다. 성능 튜닝은 부하,응력 및 성능 허용 기준 하에서 응용 프로그램 안정성,안정성 및 확장성에 대한 릴리스 시간 및 사용자 요구 사항과 같은 요소를 기반으로 수행됩니다. 제품이 예상 수준에 도달하면 성능 테스트의 최종 기준으로 간주 될 수 있습니다.
성능 테스트는 대부분 비용이 많이 들기 때문에 필수 테스트로 간주되지 않습니다. 그러나 사실은 명확하다–웹사이트의 빈약한 성과는 어떤 사업든지를 위한 좋은 연습이 아니다. 사이트가 느리게 응답하거나 부하가 실패하면 돈이 손실 될 것입니다.
통계적으로 웹 페이지 중 일부는 이익을 7%또는 9%,일부는 최대 12%까지 증가시킬 수 있다고 말합니다. 즉,성능 테스트는 수익성을 10%향상시킬 수있는 방법을 거절하지 않는 회사의 고도로 적재 된 시스템에서 수행됩니다.
성능 테스트 도구
시스템 레벨을 테스트하는 동안 시스템이 많은 양의 사용량을 견딜 수 있는지 여부를 확인하는 데 사용할 수 있는 성능 테스트 도구가 있습니다.
성능을 평가하기 위해서는 툴이 시스템에서 어떤 종류의 활동을 생성해야 하며,이는 다양한 방법으로 수행될 수 있다. 다양한 사용자 프로필,다양한 활동 유형,타이밍 지연 및 기타 매개 변수와 같이 도구에 따라 설정할 수있는 많은 옵션이 있습니다.
특정 유형의 도구에 관계없이 테스트를 지원하기 위해 도구를 사용하면 많은 이점이 있습니다. 혜택은 다음과 같습니다:
- 객관적 평가;
- 테스트 또는 테스트에 대한 정보에 대한 접근 용이성
성능 테스트 도구의 지원은 다음과 같은 작업에 필수적입니다.:
- 테스트 할 시스템에 부하 생성;
- 시스템의 부하가 다양함에 따라 특정 트랜잭션의 타이밍을 측정;
- 평균 응답 시간 측정;
- 시간 경과에 따른 응답의 그래프 또는 차트 생성
다음과 같은 인기있는 상용 테스트 도구가 있습니다.웹 및 기타 응용 프로그램의 경우 다양한 응용 프로그램 환경,플랫폼 및 데이터베이스를 제공합니다.
-웹로드(래드 뷰):모든 인터넷 응용 프로그램에서 부하 및 스트레스 테스트를 수행 할 수 있습니다.1004>-실제 부하를 쉽게 모델링할 수 있습니다.이 테스트에는 다음과 같은 기능이 포함되어 있습니다.
-로드 뷰:완전히 번거 로움없이 부하 및 스트레스 테스트를 할 수 있습니다 완벽하게 관리,온 디맨드 부하 테스트 도구입니다.
-로드 젠:수천 또는 수백만 명의 가상 사용자를 시뮬레이션하여 응용 프로그램을 확장하는 데 도움이되는 부하 테스트 소프트웨어.
-아파치 제미터:테스트 계획과 통합될 수 있다. 이 도구는 성능을 확인하고 다른 조건에서의 작업을 분석 할 수 있도록 서버 또는 네트워크에로드 할 수있는 능력을 가지고있다.
제이미터에 대해 이야기 해 봅시다. 예를 들어 갑자기 많은 수의 사용자가 증가 또는 감소했을 때 응용 프로그램에서 어떤 변경 사항이 발생하는지 이해하기 위해 스파이크 테스트가 수행됩니다. 동기화 타이머를 사용하여 제이 미터 스파이크 테스트를 수행 할 수 있습니다. 스레드는 특정 수의 스레드가 차단 될 때까지 타이머를 동기화하여 차단 된 다음 한 번에 해제하여 큰 순간 로드를 만듭니다.
결론적으로 성능 테스트는 다양한 형태를 취하고 많은 위험을 해결하며 조직에 광범위한 가치를 제공 할 수있는 광범위하고 복잡한 활동이라고 할 수 있습니다.
Leave a Reply