8b. 확장된 LDAP 테스트 계획 구축 ¶
이 섹션에서는 LDAP 서버를 테스트하기 위한 기본 테스트 계획을 만드는 방법을 배웁니다.
확장 LDAP 샘플러는 고도로 구성 가능하므로 올바른 테스트 계획을 작성하는 데 시간이 걸립니다. 그러나 필요에 따라 정확하게 조정할 수 있습니다.
LDAP 서버에서 9개의 테스트에 대한 요청을 보내는 1명의 사용자를 생성합니다. 또한 사용자에게 테스트를 한 번 실행하도록 지시합니다. 따라서 총 요청 수는 (1명의 사용자) x (9개의 요청) x (1회 반복) = 9개의 LDAP 요청입니다. 테스트 계획을 구성하려면
스레드 그룹 ,
LDAP 확장 요청 기본값 추가 ,
LDAP 요청 추가 및
테스트 결과 보기/저장을 위한 리스너 추가 요소를 사용합니다.
이 예에서는 ldap.test.com 에서 LDAP 서버를 사용할 수 있다고 가정합니다 .
경험이 적은 LDAP 사용자를 위해 복잡한 테스트 계획을 작성하는 데 사용할 수 있는 몇 가지 LDAP 작업을 간략하게 설명 하는 작은 LDAP 자습서 를 작성합니다.
식별 이름에 LDAP 특수 문자를 사용할 때 주의하십시오. 이 경우(예: 식별 이름에 + 기호 를 사용하려는 경우 ) 해당 문자 앞에 " \ " 기호를 추가하여 문자를 이스케이프해야 합니다 . 추가 예외: 식별 이름에 \ 문자를 추가하려면(추가 또는 이름 바꾸기 작업에서) 백슬래시 4개를 사용해야 합니다.
예:
- cn=돌프\+스미트
- cn=dolf+smits 와 같은 이름으로 항목을 추가/검색하려면
- cn=돌프 \\ smits
- 이름이 cn=dolf \ smits 인 항목을 검색하려면
- cn=c:\\\\log.txt
- cn=c:\log.txt 와 같은 이름으로 항목을 추가하려면
8b.1 사용자 추가 ¶
모든 JMeter 테스트 계획에서 수행하려는 첫 번째 단계는 스레드 그룹 요소를 추가하는 것입니다. 스레드 그룹은 JMeter에 시뮬레이션하려는 사용자 수, 사용자가 요청을 보내야 하는 빈도 및 보내야 하는 요청 수를 알려줍니다.
먼저 테스트 계획 을 선택하여 스레드 그룹 요소를 추가하고 마우스 오른쪽 버튼을 클릭하여 추가 메뉴를 가져온 다음 추가 → 스레드(사용자) → 스레드 그룹 을 선택 합니다. 이제 테스트 계획 아래에 스레드 그룹 요소가 표시되어야 합니다 . 요소가 표시되지 않으면 테스트 계획 요소를 클릭하여 테스트 계획 트리를 "확장"하십시오.
8b.2 LDAP 확장 요청 기본값 추가 ¶
LDAP Ext Users 요소를 선택하여 시작하십시오. 마우스 오른쪽 버튼을 클릭하여 추가 메뉴를 가져온 다음 추가 → 구성 요소 → LDAP 확장 요청 기본값 을 선택합니다 . 그런 다음 이 새 요소를 선택하여 해당 제어판을 봅니다.
대부분의 JMeter 요소와 마찬가지로 LDAP 확장 요청 기본값 제어판에는 수정할 수 있는 이름 필드가 있습니다. 이 예에서는 이 필드를 기본값으로 둡니다.
각각의 다른 작업에 대해 일부 기본값을 채울 수 있습니다. 모든 경우에 기본값이 채워지면 이 값이 LDAP 확장 요청에 사용됩니다. 각 요청에 대해 LDAP 확장 요청 샘플러의 값을 입력하여 기본값을 재정의할 수 있습니다. 테스트에 필요한 값을 입력하지 않으면 예측할 수 없는 방식으로 테스트가 실패합니다!
매우 작은 테스트 계획을 구축할 것이기 때문에 여기에 기본값을 입력하지 않을 것이므로 LDAP 확장 샘플러를 추가할 때 모든 다른 필드를 설명할 것입니다.8b.3 LDAP 요청 추가 ¶
테스트 계획에서는 9개의 LDAP 요청을 모두 사용하려고 합니다.
- 스레드 바인딩
- 검색 테스트
- 비교 테스트
- 단일 바인딩/바인드 해제 테스트
- 테스트 추가
- 테스트 수정
- 항목 이름 바꾸기(moddn)
- 테스트 삭제
- 스레드 바인딩 해제
JMeter는 트리에 추가한 순서대로 요청을 보냅니다.
요청 추가
는 항상 다음으로 시작합니다. LDAP 확장 요청 을 LDAP 확장 사용자 요소에 추가합니다( 추가 →
샘플러 → LDAP 확장 요청 ). 그런 다음 트리에서 LDAP Ext Request 요소를 선택하고 다음 속성을 편집합니다.
8b.3.1 스레드 바인드 요청 추가 ¶
- 요소 이름 바꾸기: " 1. 스레드 바인딩 "
- " 스레드 바인딩 " 버튼을 선택합니다.
- 서버 이름 필드에 LDAP 서버의 호스트 이름 값을 입력합니다.
- 포트 필드에 LDAP 서버의 포트 번호( 636 : ldap over SSL)를 입력합니다.
-
(선택 사항) DN 필드에 baseDN을 입력합니다. 이 baseDN은 검색, 추가, 삭제 등을 위한 시작점으로 사용됩니다.
모든 정보가 저장된 경우와 같이 모든 요청에 대한 최상위 공유 수준이어야 합니다. ou=Users, dc=test, dc=com 아래 에서 basedn에서 이 값을 사용할 수 있습니다.
- (선택 사항) 인증에 사용할 사용자의 고유 이름을 입력합니다. 이 필드가 비어 있으면 익명 바인딩이 설정됩니다.
- (선택 사항) 인증할 사용자의 비밀번호를 입력합니다. 비밀번호가 비어 있으면 익명 바인드도 됩니다.
- (선택 사항) LDAP와의 연결 시간 초과 값을 입력합니다.
- (선택 사항) SSL을 통한 LDAP(ldaps)로 액세스하는 경우 보안 LDAP 프로토콜 사용 확인란을 선택합니다.
- (선택 사항) 클라이언트가 모든 인증서를 신뢰하도록 하려면 TrustAll 확인란을 선택합니다.
8b.3.2 검색 요청 추가 ¶
- 요소 이름 바꾸기: " 2. 검색 테스트 "
- " 테스트 검색 " 버튼을 선택 합니다.
-
(선택 사항) 스레드 바인드 요청에 사용된 basedn을 기준으로 검색을 수행하려는 검색 기반을 입력합니다.
비워 두면 basedn이 검색 기반으로 사용되며 "기본 항목" 또는 "1단계" 검색을 사용하려는 경우 이 파일이 중요합니다(아래 참조). - searchfilter를 입력하면 적절한 LDAP 검색 필터가 수행되지만 지금은 (sn=Doe) 또는 (cn=*) 와 같은 간단한 것을 사용합니다.
-
(선택 사항) 범위 필드에 범위를 입력합니다. 여기에는 세 가지 옵션이 있습니다.
- baseobject 검색
은 속성이나 존재를 확인하기 위해서만 주어진 searchbase가 사용됩니다. - onelevel search
주어진 searchbase보다 한 수준 아래의 검색만 사용 - subtree search
주어진 basedn 아래의 임의의 지점에서 객체를 검색합니다.
- baseobject 검색
- (선택 사항) 크기 제한, 반환된 항목의 최대 수를 지정합니다.
-
(선택 사항) 시간 제한은 SERVER가 검색을 수행하는 데 사용할 수 있는 최대 시간(밀리초)을 지정합니다. 애플리케이션이 대기하는 최대 시간이 아닙니다.
매우 빠른 서버에서 매우 느린 라인을 통해 매우 큰 반환 집합이 반환되면 검색 요청이 완료될 때까지 기다려야 할 수 있지만 이 매개변수는 이에 영향을 미치지 않습니다. -
(선택 사항) 검색 답변에 원하는 속성. 이것은 특히 객체에 매우 큰 속성(예: jpegPhoto )이 있는 경우 답변의 크기를 제한하는 데 사용할 수 있습니다. 세 가지 가능성이 있습니다.
- 비워 둡니다(기본 설정도 비어 있어야 함). 그러면 모든 속성이 반환됩니다.
- 하나의 빈 값( "" )을 입력하면 존재하지 않는 속성을 요청하므로 실제로는 속성을 반환하지 않습니다.
- 속성을 세미콜론으로 구분하여 입력합니다. 요청된 속성만 반환합니다.
-
(선택 사항) 객체를 반환합니다. Checked는 모든 java-object 속성을 반환하고 위에서 지정한 대로 요청된 속성에 추가합니다.
선택하지 않으면 java-object 속성이 반환되지 않습니다. - (선택 사항) 별칭을 역참조합니다. Checked는 참조를 따른다는 것을 의미하고 Unchecked는 그렇지 않다고 말합니다.
- (선택 사항) 검색 결과를 구문 분석하시겠습니까?. 선택하면 응답 데이터의 모든 결과를 가져옴을 의미하고 선택하지 않음은 그렇지 않다고 말합니다.
8b.3.3 비교 요청 추가 ¶
- 요소 이름 바꾸기: " 3. 비교 테스트 "
- " 비교 " 버튼을 선택하십시오.
- " cn=jdoe,ou=Users " 와 같이 basedn을 기준으로 비교 작업을 수행할 개체의 항목 이름을 입력합니다.
- 비교 필터를 입력하십시오. " attribute=value " 형식이어야 합니다 (예: " mail=jdoe@test.com " ).
8b.3.4 단일 바인드/바인드 해제 추가 ¶
- 요소 이름 변경: " 4. 단일 바인드/바인드 해제 테스트 "
- " 단일 바인딩/바인딩 해제 " 버튼을 선택합니다.
-
인증에 사용할 사용자의 전체 고유 이름을 입력합니다.
예: cn=jdoe,ou=Users,dc=test,dc=com 이 필드가 비어 있으면 익명 바인딩이 설정됩니다. - 인증하려는 사용자의 비밀번호를 입력하십시오. 비밀번호가 비어 있으면 익명 바인드도 됩니다.
8b.3.5 추가 요청 추가 ¶
- 요소 이름 바꾸기: " 5. 테스트 추가 "
- " 추가 " 버튼을 선택하십시오.
- basedn을 기준으로 추가할 개체의 고유 이름을 입력합니다.
- " add test " 테이블
에 한 줄을 추가 하고 속성과 값을 입력합니다.
동일한 속성이 두 번 이상 필요한 경우 새 줄을 추가하고 속성을 다시 추가하고 다른 값을 추가하면 됩니다.
테스트를 통과하려면 필요한 모든 속성과 값을 지정해야 합니다(그림 참조).
(때때로 서버는 " objectClass=top " 속성을 추가하는데, 이것은 문제를 일으킬 수 있습니다.
8b.3.6 수정 요청 추가 ¶
- 요소 이름 바꾸기: " 6. 테스트 수정 "
- " 테스트 수정 " 버튼을 선택 합니다.
- basedn을 기준으로 수정할 개체의 고유 이름을 입력합니다.
- " 추가 " 버튼 을 사용하여 " 테스트 수정 " 테이블에 라인을 추가하십시오 .
-
수정하려는 속성, 값(선택 사항) 및 opcode를 입력해야 합니다. 이 opcode의 의미:
- 추가하다
- 이것은 속성 값(이 경우 선택 사항이 아님)이 속성에 추가됨을 의미합니다.
속성이 존재하지 않으면 생성되고 값이 추가됩니다. 속성이 존재
하고 다중 값으로 정의되면 새 값이 추가됩니다.
존재하지만 단일 값이면 실패합니다. - 바꾸다
-
이것은 주어진 새 값으로 속성을 덮어씁니다(여기서는 선택 사항
이 아님). 속성이 존재하지 않으면 생성되고
값이 추가됩니다. 존재하는 경우 이전 값이 제거되고 새 값이 추가됩니다. - 삭제
-
값이 주어지지 않으면 모든 값이 제거됩니다
값이 주어지면 주어진 값이 존재하지 않을 때 해당 값만 제거
되며 테스트는 실패합니다
-
(선택 사항) " 수정 테스트 " 테이블 에 수정 사항을 더 추가 합니다.
수정 테스트를 통과하려면 지정된 모든 수정이 성공해야 합니다. 하나의 수정이 실패하면 수정이 전혀 이루어지지 않고 항목이 변경되지 않은 상태로 유지됩니다.
8b.3.7 이름 변경 요청 추가(moddn) ¶
- 요소 이름 바꾸기: " 7. 항목 이름 바꾸기(moddn) "
- " 항목 이름 바꾸기 " 버튼을 선택하십시오 .
- " 이전 항목 이름 "-
필드에 baseDN과 관련된 항목 이름을 입력합니다 . 즉, " cn=Little John Doe,ou=Users
"의 이름을 바꾸고 baseDN을 " dc=test,dc=com "으로 설정하려면 " cn=John Junior Doe,ou=Users "를 입력해야 합니다. " 이전 항목 이름 -Field. - " 새 고유 이름 "-
필드에 baseDN에 상대적인 항목의 새 이름을 입력하십시오 .
RDN만 변경하면
다른 하위 트리도 추가할 때 항목 이름이 변경됩니다. 예를 들어 cn=john doe,ou=Users 에서 cn=john doe,ou=oldusers 로 변경하면 항목이 이동됩니다. 또한 완전한 하위 트리를 이동할 수도 있습니다(LDAP 서버가 이를 지원하는 경우!), 예를 들어 ou=Users,ou=retired 를 ou=oldusers,ou=users 로 이동하면 전체 하위 트리와 하위 트리의 모든 은퇴한 사람들이 다음으로 이동합니다. 나무의 새로운 장소.
8b.3.8 삭제 요청 추가 ¶
- 요소 이름 바꾸기: " 8. 테스트 삭제 "
- " 삭제 " 버튼을 선택하십시오.
- 삭제 -
필드에 baseDN과 관련된 항목 이름을 입력합니다 .
즉, " cn=John Junior Doe,ou=Users,dc=test,dc=com "을 제거하고 baseDN을 " dc=test,dc=com "으로 설정한 경우 " cn =John Junior Doe,ou=Users " 삭제 필드에 있습니다.
8b.3.9 바인딩 해제 요청 추가 ¶
- 요소 이름 바꾸기: " 9. 스레드 바인딩 해제 "
- " 스레드 바인딩 해제 " 버튼을 선택하십시오. 현재 연결을 닫기만 하면 충분합니다. 필요한 정보는 시스템이 이미 알고 있습니다.
8b.4 테스트 결과 보기/저장을 위한 리스너 추가 ¶
테스트 계획에 추가해야 하는 마지막 요소는 리스너입니다. 이 요소는 LDAP 요청의 모든 결과를 파일에 저장하고 데이터의 시각적 모델을 표시하는 역할을 합니다. Thread 그룹 요소를 선택하고 View Results Tree 를 추가합니다 ( Add → Listener → View Results Tree ).
이 리스너에는 샘플러 결과, 요청 및 응답 데이터의 세 가지 탭이 있습니다.
- 샘플러 결과에는 응답 시간, 반환 코드 및 반환 메시지만 포함됩니다.
- 요청은 이루어진 요청에 대한 간단한 설명을 제공하며 실제로 여기에는 관련 정보가 포함되어 있지 않습니다.
- 응답 데이터에는 보낸 요청의 전체 세부 정보와 수신된 응답의 전체 세부 정보가 포함되며, 이는 (자체 정의) xml 스타일로 제공됩니다. 전체 설명은 여기에서 찾을 수 있습니다.