개념: 성능 테스트
성능 테스트는 테스트 대상의 성능 관련 특성(예: 타이밍 프로파일, 실행 플로우, 응답 시간, 운영 신뢰성 및 한계)을 설명하고 평가하기 위해 구현하고 실행하는 테스트 클래스입니다.
관계
기본 설명

성능 테스트는 테스트 대상의 성능 관련 특성(예: 타이밍 프로파일, 실행 플로우, 응답 시간, 운영 신뢰성 및 한계)을 설명하고 평가하기 위해 구현하고 실행하는 테스트 클래스입니다. 각각 다른 테스트 목표에 초점이 맞춰진 여러 유형의 성능 테스트가 소프트웨어 개발 라이프사이클(SDLC)을 통해 구현됩니다.

아키텍처 반복 초기에서, 성능 테스트는 아키텍처 관련 성능 병목 현상을 식별하여 제거하는 데 초점을 맞춥니다. 구현 반복에서는 추가 유형의 성능 테스트를 구현 및 실행하여 소프트웨어와 환경을 미세 조정하고(응답 시간 및 자원 최적화) 대량의 트랜잭션, 클라이언트 및/또는 데이터 볼륨과 같은 큰 부담 및 스트레스 조건을 응용프로그램과 시스템이 확실하게 처리하는지 확인합니다.

다음 유형의 테스트가 성능 테스트에 포함됩니다.

  • 벤치마크 테스트: 새롭거나 알려지지 않은 테스트 대상의 성능을 기존 소프트웨어 또는 측정과 같은 알려진 참조 표준과 비교합니다.
  • 경합 테스트: 테스트 대상이 동일 자원(데이터 레코드, 메모리 등)에 대해 여러 가지의 액터 요구를 허용 가능한 수준으로 처리할 수 있는지 확인합니다.
  • 성능 프로파일링: 운영 조건이 일정하게 유지되는 동안 다양한 구성을 사용하여 테스트 대상의 성능 동작의 적합성을 확인합니다.
  • 로드 테스트: 구성이 일정하게 유지되는 동안 다양한 운영 조건(사용자 수, 트랜잭션 수) 하에서 테스트 대상의 성능 동작의 적합성을 확인합니다.
  • 스트레스 테스트: 자원 감소 또는 아주 많은 사용자 수와 같은 비정상적이거나 극단적인 조건이 발생할 때 테스트 대상의 성능의 적합성을 확인합니다.

성능 평가는 보통 사용자 대표와 같이 수행되며 다중 레벨 접근 방식으로 수행됩니다.

  • 성능 분석의 첫 번째 레벨에는 단일 액터 또는 유스 케이스 인스턴스의 결과 평가와 몇몇 테스트 실행 사이의 결과 비교가 포함됩니다. 예를 들어, 테스트 대상에 대해 다른 활동 없이 단일 유스 케이스를 수행하는 단일 액터의 성능 동작을 캡처하여 동일 액터 또는 유스 케이스의 다른 테스트 실행과 결과를 비교합니다. 이 첫 번째 레벨 분석은 시스템 자원 사이의 경합을 나타낼 수 있는 상태동향을 식별하는 데 도움을 줄 수 있습니다. 이는 다른 성능 테스트 결과에서 나온 결론의 유효성에 영향을 줄 수 있습니다.
  • 분석의 두 번째 레벨은 특정 액터나 유스 케이스 실행 및 테스트 대상의 성능 동작의 요약 통계 및 실제 데이터 값을 점검합니다. 요약 통계에는 개별 액터에게 표시되는 시스템 응답의 변동 표시를 제공하는 응답 시간에 대한 백분위수 분배와 표준 편차가 포함됩니다.
  • 분석의 세 번째 레벨은 성능 문제점의 원인과 의미를 이해하는 데 도움이 될 수 있습니다. 이와 같은 자세한 분석에서는 낮은 레벨의 데이터가 사용되며 통계 방법을 사용하여 테스터가 데이터로부터 올바른 결론을 내릴 수 있도록 합니다. 자세한 분석은 의사 결정을 위한 목표 및 정량적 기준을 제공하지만 더 많은 시간이 소요되고 통계에 대한 기본적인 이해가 요구됩니다.

자세한 분석에서는 통계 유의성 개념을 사용하여 성능 동작에서의 차이가 실제이거나 테스트 데이터 수집과 연관되는 무작위 이벤트가 원인인 경우 이해하는 데 도움이 됩니다. 이는 기본적인 레벨에서는 임의 이벤트와 연관된 무작위성이 존재한다는 생각에서 나온 것입니다. 통계 테스트는 무작위 이벤트로 설명할 수 없는 조직적 차이가 있는지 여부를 판별합니다.

다른 성능 테스트 보고서에 관한 자세한 정보는 기법: 테스트의 주요 측정을 참조하십시오.