4. 웹 테스트 계획 수립 ¶
이 섹션에서는 웹 사이트를 테스트하기 위한 기본 테스트 계획 을 만드는 방법을 배웁니다 . JMeter 웹 사이트의 두 페이지에 요청을 보내는 다섯 명의 사용자를 만듭니다. 또한 사용자에게 테스트를 두 번 실행하도록 지시합니다. 따라서 총 요청 수는 (5명의 사용자) x (2개의 요청) x (2번 반복) = 20개의 HTTP 요청입니다. 테스트 계획을 구성하려면 스레드 그룹 , HTTP 요청 , HTTP 요청 기본값 및 그래프 결과 요소를 사용합니다 .
고급 테스트 계획 은 고급 웹 테스트 계획 작성을 참조하십시오 .
4.1 사용자 추가 ¶
모든 JMeter 테스트 계획에서 수행하려는 첫 번째 단계는 스레드 그룹 요소를 추가하는 것입니다. 스레드 그룹은 시뮬레이션하려는 사용자 수, 사용자가 요청을 보내야 하는 빈도 및 보내야 하는 요청 수를 JMeter에 알려줍니다.
먼저 테스트 계획을 선택하고 마우스 오른쪽 버튼을 클릭하여 추가 메뉴를 표시한 다음 추가 → ThreadGroup을 선택하여 ThreadGroup 요소를 추가합니다.
이제 테스트 계획 아래에 스레드 그룹 요소가 표시되어야 합니다. 요소가 표시되지 않으면 테스트 계획 요소를 클릭하여 테스트 계획 트리를 "확장"하십시오.
다음으로 기본 속성을 수정해야 합니다. 아직 선택하지 않은 경우 트리에서 스레드 그룹 요소를 선택합니다. 이제 JMeter 창의 오른쪽 섹션에 Thread Group Control Panel이 표시되어야 합니다(아래 그림 4.1 참조).
스레드 그룹에 대해 보다 설명적인 이름을 제공하여 시작합니다. 이름 필드에 JMeter 사용자를 입력합니다.
다음으로 사용자 수(스레드라고 함)를 5로 늘립니다.
다음 필드인 램프업 기간에서 기본값인 1초를 그대로 둡니다. 이 속성은 JMeter에 각 사용자 시작 사이의 지연 시간을 알려줍니다. 예를 들어, 램프업 기간을 5초로 입력하면 JMeter는 5초가 끝날 때까지 모든 사용자의 시작을 마칩니다. 따라서 5명의 사용자와 5초의 램프업 기간이 있는 경우 시작 사용자 간의 지연은 1초가 됩니다(5명의 사용자 / 5초 = 초당 1명의 사용자). 값을 0으로 설정하면 JMeter는 즉시 모든 사용자를 시작합니다.
마지막으로 루프 수 필드에 값 2를 입력합니다. 이 속성은 JMeter에 테스트를 반복할 횟수를 알려줍니다. 루프 카운트 값을 1로 입력하면 JMeter는 테스트를 한 번만 실행합니다. JMeter가 테스트 계획을 반복적으로 실행하도록 하려면 Forever 확인란을 선택합니다.
완성된 JMeter 사용자 스레드 그룹은 그림 4.2를 참조하십시오.
4.2 기본 HTTP 요청 속성 추가하기 ¶
이제 사용자를 정의했으므로 사용자가 수행할 작업을 정의할 차례입니다. 이 섹션에서는 HTTP 요청에 대한 기본 설정을 지정합니다. 그런 다음 섹션 4.3에서 여기에 지정한 기본 설정 중 일부를 사용하는 HTTP 요청 요소를 추가합니다.
JMeter 사용자(스레드 그룹) 요소를 선택하여 시작합니다. 마우스 오른쪽 버튼을 클릭하여 추가 메뉴가 나타나면 추가 → 구성 요소 → HTTP 요청 기본값을 선택합니다. 그런 다음 이 새 요소를 선택하여 해당 제어판을 봅니다(그림 4.3 참조).
대부분의 JMeter 요소와 마찬가지로 HTTP 요청 기본값 제어판에는 수정할 수 있는 이름 필드가 있습니다. 이 예에서는 이 필드를 기본값으로 둡니다.
웹 서버의 서버 이름/IP인 다음 필드로 건너뜁니다. 구축 중인 테스트 계획의 경우 모든 HTTP 요청은 동일한 웹 서버인 jmeter.apache.org로 전송됩니다. 이 도메인 이름을 필드에 입력합니다. 이것은 기본값을 지정할 유일한 필드이므로 나머지 필드는 기본값으로 둡니다.
완료된 HTTP 요청 기본값 요소는 그림 4.4를 참조하십시오.
4.3 쿠키 지원 추가 ¶
애플리케이션이 특별히 쿠키를 사용하지 않는 한 거의 모든 웹 테스트는 쿠키 지원을 사용해야 합니다. 쿠키 지원을 추가하려면 테스트 계획의 각 스레드 그룹 에 HTTP 쿠키 관리자 를 추가하기만 하면 됩니다. 이렇게 하면 각 스레드가 자체 쿠키를 가져오지만 모든 HTTP 요청 개체에서 공유됩니다.
HTTP 쿠키 관리자 를 추가하려면 스레드 그룹 을 선택 하고 편집 메뉴 또는 마우스 오른쪽 버튼 클릭 팝업 메뉴에서 추가 → 구성 요소 → HTTP 쿠키 관리자를 선택하기만 하면 됩니다.
4.4 HTTP 요청 추가 ¶
테스트 계획에서 두 개의 HTTP 요청을 해야 합니다. 첫 번째는 JMeter 홈 페이지(http://jmeter.apache.org/)이고 두 번째는 변경 페이지(http://jmeter.apache.org/changes.html)입니다.
JMeter Users 요소에 첫 번째 HTTP 요청 을 추가하여 시작합니다 (추가 → 샘플러 → HTTP 요청). 그런 다음 트리에서 HTTP 요청 요소를 선택하고 다음 속성을 편집합니다(그림 4.6 참조).
- 이름 필드를 "홈 페이지"로 변경합니다.
- 경로 필드를 "/"로 설정합니다. HTTP 요청 기본값 요소에서 이 값을 이미 지정했으므로 서버 이름 필드를 설정할 필요가 없음을 기억하십시오.
다음으로 두 번째 HTTP 요청을 추가하고 다음 속성을 편집합니다(그림 4.7 참조:
- 이름 필드를 "변경 사항"으로 변경합니다.
- 경로 필드를 "/changes.html"로 설정합니다.
4.5 테스트 결과를 보기 위해 리스너 추가하기 ¶
테스트 계획에 추가해야 하는 마지막 요소는 Listener 입니다. 이 요소는 HTTP 요청의 모든 결과를 파일에 저장하고 데이터의 시각적 모델을 제시하는 역할을 합니다.
JMeter 사용자 요소를 선택하고 그래프 결과 수신기를 추가합니다(추가 → 수신기 → 백엔드 수신기).
4.6 웹사이트 로그인 ¶
여기서는 그렇지 않지만 일부 웹 사이트에서는 특정 작업을 수행하기 전에 로그인해야 합니다. 웹 브라우저에서 로그인은 사용자 이름과 비밀번호에 대한 양식과 양식을 제출하는 버튼으로 표시됩니다. 버튼은 양식 항목의 값을 매개변수로 전달하는 POST 요청을 생성합니다.
JMeter에서 이를 수행하려면 HTTP 요청을 추가하고 메소드를 POST로 설정하십시오. 양식에서 사용하는 필드의 이름과 대상 페이지를 알아야 합니다. 이는 로그인 페이지의 코드를 검사하여 확인할 수 있습니다. [이 작업이 어려우면 JMeter Proxy Recorder 를 사용 하여 로그인 시퀀스를 기록할 수 있습니다.] 제출 버튼의 대상 경로를 설정합니다. 추가 버튼을 두 번 클릭하고 사용자 이름과 암호 세부 정보를 입력합니다. 때때로 로그인 양식에 숨겨진 필드가 추가로 포함되어 있습니다. 이것들도 추가해야 합니다.
4.7 동일한 사용자 또는 다른 사용자 선택 ¶
테스트 계획을 생성할 때 각 스레드 그룹 반복에서 여러 반복을 실행하는 동일한 사용자 또는 하나의 반복을 실행하는 다른 사용자를 시뮬레이션하도록 선택할 수 있습니다. 스레드 그룹 요소에서 이 동작을 구성할 수 있으며 이 설정으로 HTTP 캐시 관리자, HTTP 쿠키 관리자, HTTP 권한 부여 관리자를 제어할 수 있습니다.
CookieManager/CacheManager/Authorization Manager에서 쿠키/캐시 콘텐츠/권한을 지우거나 스레드 그룹에서 제어하도록 선택할 수 있습니다.