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.1.  기본값이 있는 스레드 그룹
그림 8b.1. 기본값이 있는 스레드 그룹

8b.2 LDAP 확장 요청 기본값 추가

LDAP Ext Users 요소를 선택하여 시작하십시오. 마우스 오른쪽 버튼을 클릭하여 추가 메뉴를 가져온 다음 추가구성 요소LDAP 확장 요청 기본값 을 선택합니다 . 그런 다음 이 새 요소를 선택하여 해당 제어판을 봅니다.

대부분의 JMeter 요소와 마찬가지로 LDAP 확장 요청 기본값 제어판에는 수정할 수 있는 이름 필드가 있습니다. 이 예에서는 이 필드를 기본값으로 둡니다.


  그림 8b.2 테스트 계획에 대한 LDAP 기본값

그림 8b.2 테스트 계획에 대한 LDAP 기본값

각각의 다른 작업에 대해 일부 기본값을 채울 수 있습니다. 모든 경우에 기본값이 채워지면 이 값이 LDAP 확장 요청에 사용됩니다. 각 요청에 대해 LDAP 확장 요청 샘플러의 값을 입력하여 기본값을 재정의할 수 있습니다. 테스트에 필요한 값을 입력하지 않으면 예측할 수 없는 방식으로 테스트가 실패합니다!

매우 작은 테스트 계획을 구축할 것이기 때문에 여기에 기본값을 입력하지 않을 것이므로 LDAP 확장 샘플러를 추가할 때 모든 다른 필드를 설명할 것입니다.

8b.3 LDAP 요청 추가

테스트 계획에서는 9개의 LDAP 요청을 모두 사용하려고 합니다.

  1. 스레드 바인딩
  2. 검색 테스트
  3. 비교 테스트
  4. 단일 바인딩/바인드 해제 테스트
  5. 테스트 추가
  6. 테스트 수정
  7. 항목 이름 바꾸기(moddn)
  8. 테스트 삭제
  9. 스레드 바인딩 해제

JMeter는 트리에 추가한 순서대로 요청을 보냅니다.


요청 추가 는 항상 다음으로 시작합니다. LDAP 확장 요청 을 LDAP 확장 사용자 요소에 추가합니다( 추가샘플러LDAP 확장 요청 ). 그런 다음 트리에서 LDAP Ext Request 요소를 선택하고 다음 속성을 편집합니다.

8b.3.1 스레드 바인드 요청 추가

  1. 요소 이름 바꾸기: " 1. 스레드 바인딩 "
  2. " 스레드 바인딩 " 버튼을 선택합니다.
  3. 서버 이름 필드에 LDAP 서버의 호스트 이름 값을 입력합니다.
  4. 포트 필드에 LDAP 서버의 포트 번호( 636 : ldap over SSL)를 입력합니다.
  5. (선택 사항) DN 필드에 baseDN을 입력합니다. 이 baseDN은 검색, 추가, 삭제 등을 위한 시작점으로 사용됩니다.
    모든 정보가 저장된 경우와 같이 모든 요청에 ​​대한 최상위 공유 수준이어야 합니다. ou=Users, dc=test, dc=com 아래 에서 basedn에서 이 값을 사용할 수 있습니다.
  6. (선택 사항) 인증에 사용할 사용자의 고유 이름을 입력합니다. 이 필드가 비어 있으면 익명 바인딩이 설정됩니다.
  7. (선택 사항) 인증할 사용자의 비밀번호를 입력합니다. 비밀번호가 비어 있으면 익명 바인드도 됩니다.
  8. (선택 사항) LDAP와의 연결 시간 초과 값을 입력합니다.
  9. (선택 사항) SSL을 통한 LDAP(ldaps)로 액세스하는 경우 보안 LDAP 프로토콜 사용 확인란을 선택합니다.
  10. (선택 사항) 클라이언트가 모든 인증서를 신뢰하도록 하려면 TrustAll 확인란을 선택합니다.


그림 8b.3.1.  스레드 바인드 예
그림 8b.3.1. 스레드 바인드 예

8b.3.2 검색 요청 추가

  1. 요소 이름 바꾸기: " 2. 검색 테스트 "
  2. " 테스트 검색 " 버튼을 선택 합니다.
  3. (선택 사항) 스레드 바인드 요청에 사용된 basedn을 기준으로 검색을 수행하려는 검색 기반을 입력합니다.
    비워 두면 basedn이 검색 기반으로 사용되며 "기본 항목" 또는 "1단계" 검색을 사용하려는 경우 이 파일이 중요합니다(아래 참조).
  4. searchfilter를 입력하면 적절한 LDAP 검색 필터가 수행되지만 지금은 (sn=Doe) 또는 (cn=*) 와 같은 간단한 것을 사용합니다.
  5. (선택 사항) 범위 필드에 범위를 입력합니다. 여기에는 세 가지 옵션이 있습니다.
    1. baseobject 검색
      은 속성이나 존재를 확인하기 위해서만 주어진 searchbase가 사용됩니다.
    2. onelevel search
      주어진 searchbase보다 한 수준 아래의 검색만 사용
    3. subtree search
      주어진 basedn 아래의 임의의 지점에서 객체를 검색합니다.
  6. (선택 사항) 크기 제한, 반환된 항목의 최대 수를 지정합니다.
  7. (선택 사항) 시간 제한은 SERVER가 검색을 수행하는 데 사용할 수 있는 최대 시간(밀리초)을 지정합니다. 애플리케이션이 대기하는 최대 시간이 아닙니다.
    매우 빠른 서버에서 매우 느린 라인을 통해 매우 큰 반환 집합이 반환되면 검색 요청이 완료될 때까지 기다려야 할 수 있지만 이 매개변수는 이에 영향을 미치지 않습니다.
  8. (선택 사항) 검색 답변에 원하는 속성. 이것은 특히 객체에 매우 큰 속성(예: jpegPhoto )이 있는 경우 답변의 크기를 제한하는 데 사용할 수 있습니다. 세 가지 가능성이 있습니다.
    1. 비워 둡니다(기본 설정도 비어 있어야 함). 그러면 모든 속성이 반환됩니다.
    2. 하나의 빈 값( "" )을 입력하면 존재하지 않는 속성을 요청하므로 실제로는 속성을 반환하지 않습니다.
    3. 속성을 세미콜론으로 구분하여 입력합니다. 요청된 속성만 반환합니다.
  9. (선택 사항) 객체를 반환합니다. Checked는 모든 java-object 속성을 반환하고 위에서 지정한 대로 요청된 속성에 추가합니다.
    선택하지 않으면 java-object 속성이 반환되지 않습니다.
  10. (선택 사항) 별칭을 역참조합니다. Checked는 참조를 따른다는 것을 의미하고 Unchecked는 그렇지 않다고 말합니다.
  11. (선택 사항) 검색 결과를 구문 분석하시겠습니까?. 선택하면 응답 데이터의 모든 결과를 가져옴을 의미하고 선택하지 않음은 그렇지 않다고 말합니다.


그림 8b.3.2.  검색 요청 예
그림 8b.3.2. 검색 요청 예

8b.3.3 비교 요청 추가

  1. 요소 이름 바꾸기: " 3. 비교 테스트 "
  2. " 비교 " 버튼을 선택하십시오.
  3. " cn=jdoe,ou=Users " 와 같이 basedn을 기준으로 비교 작업을 수행할 개체의 항목 이름을 입력합니다.
  4. 비교 필터를 입력하십시오. " attribute=value " 형식이어야 합니다 (예: " mail=jdoe@test.com " ).


그림 8b.3.3.  비교 예
그림 8b.3.3. 비교 예

8b.3.4 단일 바인드/바인드 해제 추가

  1. 요소 이름 변경: " 4. 단일 바인드/바인드 해제 테스트 "
  2. " 단일 바인딩/바인딩 해제 " 버튼을 선택합니다.
  3. 인증에 사용할 사용자의 전체 고유 이름을 입력합니다.
    예: cn=jdoe,ou=Users,dc=test,dc=com 이 필드가 비어 있으면 익명 바인딩이 설정됩니다.
  4. 인증하려는 사용자의 비밀번호를 입력하십시오. 비밀번호가 비어 있으면 익명 바인드도 됩니다.
주의 : 이 단일 바인딩/바인드 해제는 실제로 두 개의 별도 작업이지만 쉽게 분할할 수 없습니다!


그림 8b.3.4.  단일 바인딩/바인드 해제 예
그림 8b.3.4. 단일 바인딩/바인드 해제 예

8b.3.5 추가 요청 추가

  1. 요소 이름 바꾸기: " 5. 테스트 추가 "
  2. " 추가 " 버튼을 선택하십시오.
  3. basedn을 기준으로 추가할 개체의 고유 이름을 입력합니다.
  4. " add test " 테이블 에 한 줄을 추가 하고 속성과 값을 입력합니다.
    동일한 속성이 두 번 이상 필요한 경우 새 줄을 추가하고 속성을 다시 추가하고 다른 값을 추가하면 됩니다.
    테스트를 통과하려면 필요한 모든 속성과 값을 지정해야 합니다(그림 참조).
    (때때로 서버는 " objectClass=top " 속성을 추가하는데, 이것은 문제를 일으킬 수 있습니다.


그림 8b.3.5.  요청 예시 추가
그림 8b.3.5. 요청 예시 추가

8b.3.6 수정 요청 추가

  1. 요소 이름 바꾸기: " 6. 테스트 수정 "
  2. " 테스트 수정 " 버튼을 선택 합니다.
  3. basedn을 기준으로 수정할 개체의 고유 이름을 입력합니다.
  4. " 추가 " 버튼 을 사용하여 " 테스트 수정 " 테이블에 라인을 추가하십시오 .
  5. 수정하려는 속성, 값(선택 사항) 및 opcode를 입력해야 합니다. 이 opcode의 의미:
    추가하다
    이것은 속성 값(이 경우 선택 사항이 아님)이 속성에 추가됨을 의미합니다.
    속성이 존재하지 않으면 생성되고 값이 추가됩니다. 속성이 존재
    하고 다중 값으로 정의되면 새 값이 추가됩니다.
    존재하지만 단일 값이면 실패합니다.
    바꾸다
    이것은 주어진 새 값으로 속성을 덮어씁니다(여기서는 선택 사항
    이 아님). 속성이 존재하지 않으면 생성되고
    값이 추가됩니다. 존재하는 경우 이전 값이 제거되고 새 값이 추가됩니다.
    삭제
    값이 주어지지 않으면 모든 값이 제거됩니다
    값이 주어지면 주어진 값이 존재하지 않을 때 해당 값만 제거
    되며 테스트는 실패합니다
  6. (선택 사항) " 수정 테스트 " 테이블 에 수정 사항을 더 추가 합니다.
    수정 테스트를 통과하려면 지정된 모든 수정이 성공해야 합니다. 하나의 수정이 실패하면 수정이 전혀 이루어지지 않고 항목이 변경되지 않은 상태로 유지됩니다.


그림 8b.3.6.  수정 예
그림 8b.3.6. 수정 예

8b.3.7 이름 변경 요청 추가(moddn)

  1. 요소 이름 바꾸기: " 7. 항목 이름 바꾸기(moddn) "
  2. " 항목 이름 바꾸기 " 버튼을 선택하십시오 .
  3. " 이전 항목 이름 "- 필드에 baseDN과 관련된 항목 이름을 입력합니다 . 즉, " cn=Little John Doe,ou=Users
    "의 이름을 바꾸고 baseDN을 " dc=test,dc=com "으로 설정하려면 " cn=John Junior Doe,ou=Users "를 입력해야 합니다. " 이전 항목 이름 -Field.
  4. " 새 고유 이름 "- 필드에 baseDN에 상대적인 항목의 새 이름을 입력하십시오 .
    RDN만 변경하면
    다른 하위 트리도 추가할 때 항목 이름이 변경됩니다. 예를 들어 cn=john doe,ou=Users 에서 cn=john doe,ou=oldusers 로 변경하면 항목이 이동됩니다. 또한 완전한 하위 트리를 이동할 수도 있습니다(LDAP 서버가 이를 지원하는 경우!), 예를 들어 ou=Users,ou=retiredou=oldusers,ou=users 로 이동하면 전체 하위 트리와 하위 트리의 모든 은퇴한 사람들이 다음으로 이동합니다. 나무의 새로운 장소.


그림 8b.3.7.  예제 이름 바꾸기
그림 8b.3.7. 예제 이름 바꾸기

8b.3.8 삭제 요청 추가

  1. 요소 이름 바꾸기: " 8. 테스트 삭제 "
  2. " 삭제 " 버튼을 선택하십시오.
  3. 삭제 - 필드에 baseDN과 관련된 항목 이름을 입력합니다 .
    즉, " cn=John Junior Doe,ou=Users,dc=test,dc=com "을 제거하고 baseDN을 " dc=test,dc=com "으로 설정한 경우 " cn =John Junior Doe,ou=Users " 삭제 필드에 있습니다.


그림 8b.3.8.  예시 삭제
그림 8b.3.8. 예시 삭제

8b.3.9 바인딩 해제 요청 추가

  1. 요소 이름 바꾸기: " 9. 스레드 바인딩 해제 "
  2. " 스레드 바인딩 해제 " 버튼을 선택하십시오. 현재 연결을 닫기만 하면 충분합니다. 필요한 정보는 시스템이 이미 알고 있습니다.


그림 8b.3.9.  바인딩 해제 예시
그림 8b.3.9. 바인딩 해제 예시

8b.4 테스트 결과 보기/저장을 위한 리스너 추가

테스트 계획에 추가해야 하는 마지막 요소는 리스너입니다. 이 요소는 LDAP 요청의 모든 결과를 파일에 저장하고 데이터의 시각적 모델을 표시하는 역할을 합니다. Thread 그룹 요소를 선택하고 View Results Tree 를 추가합니다 ( AddListenerView Results Tree ).


그림 8b.4.  결과 트리 리스너 보기
그림 8b.4. 결과 트리 리스너 보기

이 리스너에는 샘플러 결과, 요청 및 응답 데이터의 세 가지 탭이 있습니다.

  1. 샘플러 결과에는 응답 시간, 반환 코드 및 반환 메시지만 포함됩니다.
  2. 요청은 이루어진 요청에 대한 간단한 설명을 제공하며 실제로 여기에는 관련 정보가 포함되어 있지 않습니다.
  3. 응답 데이터에는 보낸 요청의 전체 세부 정보와 수신된 응답의 전체 세부 정보가 포함되며, 이는 (자체 정의) xml 스타일로 제공됩니다. 전체 설명은 여기에서 찾을 수 있습니다.

Go to top