테스트 스위트 및 테스트 케이스를 생성하는 방법 SoapUI

⚡ 스마트 요약

만들기 SoapUI 프로젝트, 테스트 스위트 및 테스트 케이스를 활용하면 구조화된 SOAP 웹 서비스 테스트를 수행할 수 있습니다. 이 가이드에서는 SOAP 프로토콜의 기본 사항, WSDL 가져오기, 요청 실행, 어설션 설정 및 응답 로그 분석을 통해 신뢰할 수 있는 기능 및 회귀 테스트를 수행하는 방법을 설명합니다.

  • 🧠 SOAP Foundation: SOAP는 XML 기반의 플랫폼 독립적인 프로토콜로, HTTP를 통해 전송되어 서로 다른 시스템 간에 메시지를 교환합니다.
  • 📁 프로젝트 생성: WSDL 파일을 새 디렉터리로 가져옵니다. SoapUI 모든 작업에 대한 샘플 요청을 자동으로 생성하는 SOAP 프로젝트입니다.
  • 🗂️ 테스트 스위트 설정: 프로젝트 루트를 마우스 오른쪽 버튼으로 클릭하여 관련 테스트 케이스를 그룹화하여 체계적으로 실행할 수 있는 테스트 스위트를 추가합니다.
  • 🧪 테스트 케이스 단계: SOAP 요청 단계를 추가하고, 대상 작업을 선택하고, 스키마 규정 준수 및 SOAP 오류 검사와 같은 표준 어설션을 구성합니다.
  • 📊 응답 검토: RAW 탭과 로그 창을 사용하세요(SoapUI HTTP 상태 코드를 검증하고 요청 문제를 해결하기 위해 로그, HTTP 로그, 오류 로그, 메모리 로그 등을 사용합니다.

테스트 스위트 및 테스트 케이스 생성 방법 SoapUI

SOAP 프로토콜 이해

만들기 전에 SoapUI 테스트 케이스를 통해 SOAP 프로토콜의 기본 사항을 다시 한번 살펴볼 수 있습니다. SOAP 요청과 응답이 시스템 간에 어떻게 오가는지 명확하게 이해하면 SOAP를 더 쉽게 사용할 수 있습니다. SoapUI 효과적인 테스트를 위해서입니다.

SOAP는 단순 개체 액세스 프로토콜SOAP 프로토콜의 핵심 속성은 다음과 같습니다.

  • XML 기반 프로토콜은 서로 다른 두 시스템 간의 통신에 사용됩니다.
  • 이 시스템은 플랫폼 및 언어에 독립적입니다. 개발에 사용된 시스템은 다음과 같습니다. Java .NET으로 개발된 시스템과 통신할 수 있습니다.
  • SOAP 요청과 응답은 HTTP를 통해 전송됩니다.

SOAP 메시지 형식을 알아보세요

SOAP 메시지는 다음과 같은 요소들을 포함하는 일반적인 XML 문서입니다. 메시지는 요청 또는 응답일 수 있습니다.

SOAP 메시지 형식
SOAP 메시지 형식

SOAP의 기본 사항을 숙지했으므로 다음 단계는 구축하는 것입니다. SoapUI 주어진 웹 서비스를 검증하는 데 필요한 프로젝트 구조, 테스트 스위트 및 테스트 케이스. 아래 설명에서는 다음을 사용합니다. SoapUI 새로운 SOAP 프로젝트를 생성하는 프로젝트 예시입니다.

SOAP 프로젝트 생성하기 SoapUI

SOAP 프로젝트에는 가져온 WSDL 정의와 각 작업에 대해 생성된 모든 샘플 요청이 포함되어 있습니다.

1 단계 : 프로젝트 유형에 따라 SOAP 또는 REST 프로토콜을 가져옵니다. 이 예에서는 새 SOAP 프로젝트를 생성합니다.

새 SOAP 프로젝트 만들기

2 단계 : 다음 SOAP 요청을 사용하십시오. URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. 프로젝트 이름을 입력하세요.
  2. WSDL 요청 경로를 입력하십시오(이 경우 http://www.dneonline.com/calculator.asmx?wsdl).
  3. OK.

SOAP 프로젝트 이름과 WSDL 경로를 입력하세요.

참고 :

  • 모든 작업에 대한 샘플 요청을 생성합니다. WSDL에 있는 모든 작업에 대한 샘플 요청을 생성합니다. WSDL 주소를 입력하면 기본적으로 활성화되며, 필요하지 않은 경우 선택을 해제할 수 있습니다.
  • 가져온 WSDL에 대한 테스트 스위트를 생성합니다. 추가하는 SoapUI 가져온 WSDL에 대한 프로젝트 내 테스트 스위트입니다.
  • 상대 경로: 이식성을 높이기 위해 모든 파일을 프로젝트 파일 기준으로 상대적인 위치에 저장합니다.

3 단계 : 위의 WSDL을 사용하여 SOAP 프로젝트를 생성하면 두 가지 작업이 프로젝트로 가져와집니다.

수입 SOAP 프로젝트 OperaTIONS

4 단계 : 첫 번째 요청을 펼치고 마우스 오른쪽 버튼을 클릭합니다. 추가다음을 클릭합니다 새 요청.

SOAP 프로젝트에 새 요청 추가

그런 다음 OKSOAP 요청은 XML 형식으로 표시됩니다.

SOAP 요청 XML 형식

  1. 에 대한 값을 입력하십시오 인타 intB.
  2. 클릭 문의하기 버튼을 클릭합니다.
  3. 응답 XML은 오른쪽 창에 나타납니다.

SOAP 요청을 제출하고 응답을 확인하세요

직접적인 요청 대신 테스트 케이스를 작성하는 이유는 무엇일까요?

하나의 연산에 대한 요청을 직접 보내는 것도 가능하지만, 여러 입력 조합을 테스트해야 할 경우 이 방식은 금방 한계에 부딪힙니다. 예를 들어, 5+5에서 4+4로 변경할 때마다 요청을 수정해야 합니다. 테스트 케이스로 구성된 테스트 스위트를 사용하면 원래 연산을 변경하지 않고도 모든 시나리오를 재사용할 수 있습니다.

테스트 스위트를 만드는 방법 SoapUI

테스트 스위트는 관련된 테스트 케이스들을 그룹화하는 컨테이너입니다. 아래 단계를 따라 테스트 스위트를 생성해 보세요.

1단계) 프로젝트의 루트 디렉토리를 마우스 오른쪽 버튼으로 클릭합니다.

프로젝트 루트를 마우스 오른쪽 버튼으로 클릭하여 프로젝트 내에서 테스트 스위트를 생성합니다.

테스트 스위트 생성 SoapUI - 프로젝트를 마우스 오른쪽 버튼으로 클릭

2단계) 테스트 스위트 세부 정보를 입력합니다.

테스트 스위트 이름을 입력하고 클릭하세요. OK.

테스트 스위트 이름을 입력하세요

3단계) ​​생성된 테스트 스위트를 검증합니다.

새로운 테스트 스위트는 아래 그림과 같이 탐색기 창에 나타납니다.

생성된 테스트 스위트를 검증합니다.

4단계) 테스트 스위트를 엽니다.

테스트 스위트 창이 오른쪽 창에 열립니다. 아직 테스트 케이스가 없으므로 모든 작업 옵션이 비활성화된 상태입니다.

빈 테스트 스위트 창 열기

테스트 케이스를 만드는 방법 SoapUI

테스트 케이스는 테스트 스위트 내에 있으며, 웹 서비스를 테스트하는 개별 테스트 단계를 그룹화합니다.

1 단계 : 테스트 스위트 내에서 여러 테스트를 생성하려면 테스트 스위트를 마우스 오른쪽 버튼으로 클릭하고 [테스트 스위트 생성]을 선택하십시오. 새로운 테스트 케이스.

새 테스트 케이스를 생성하세요 SoapUI

2 단계 : 의 이름을 지정하십시오. 테스트 케이스 클릭 OK.

테스트 케이스 이름을 입력하세요

3 단계 : 생성된 테스트 케이스는 아래와 같이 초기에는 단계가 하나도 없습니다.

단계가 없는 테스트 케이스

참고 : 테스트 케이스는 모든 테스트 유형에 대해 테스트 단계가 0인 상태로 추가됩니다. 단계가 추가되면 괄호 안의 숫자가 자동으로 업데이트됩니다.

기능 테스트 단계는 다음에 속합니다. 테스트 단계성능 단계는 다음과 같습니다. 부하 테스트그리고 보안 검사는 다음과 같은 조건 하에 진행됩니다. 보안 테스트.

4 단계 : 마우스 오른쪽 버튼을 클릭하여 다양한 테스트 단계 유형을 삽입하세요. 테스트 단계 그리고 적절한 옵션을 선택합니다. REST 웹 서비스의 경우 SOAP 요청 대신 REST 테스트 요청을 선택하십시오.

테스트 단계 유형 삽입

테스트 단계 추가하기 SoapUI

테스트 케이스 내에 가져온 SOAP 요청의 유효성을 검사하는 테스트 단계를 추가하세요.

1 단계 : 새로운 유형의 단계를 추가합니다. SOAP 요청 아래 그림과 같이.

SOAP 요청 테스트 단계 추가

2 단계 : 단계 이름을 입력하고 클릭하세요. OK.

테스트 단계 이름을 입력하세요

3 단계 : 실행할 작업을 선택하는 대화 상자가 나타납니다. 사용 가능한 모든 작업 목록이 표시됩니다.

  • 여기에는 여러 작업이 표시됩니다. SOAP 버전만 다를 뿐 모든 작업은 동일합니다. CalculatorSoap은 SOAP 버전 1.1을 사용하고 CalculatorSoap12는 SOAP 버전 1.2를 사용합니다.
  • 이 시나리오에서는 버전이 중요하지 않으므로 둘 중 하나를 선택해도 됩니다.

    SOAP를 선택하세요 Opera호출하기

  • 작업을 선택한 후 클릭하세요 OK.

    확인하기 Opera선택

4 단계 : 테스트 케이스를 추가할 때 표준 어설션을 적용할 수 있습니다. 체크포인트 또는 유효성 검사 포인트라고도 하는 어설션에 대해서는 다음 튜토리얼에서 다룹니다.

테스트 케이스를 생성하는 동안 다음과 같은 검사점을 추가할 수 있습니다. 아래 예시는 유효성 검사점이 활성화되지 않은 테스트 케이스를 생성하는 방법입니다.

Standard SoapUI 어설 션

  1. 테스트 실행 후 응답 메시지가 SOAP 형식인지 확인합니다.
  2. 응답 스키마가 유효한지 확인합니다.
  3. SOAP 응답에 FAULT 요소가 포함되어 있는지 확인합니다.

5 단계 : 테스트 케이스가 생성되면 아래와 같은 요청 XML이 나타납니다. XML 구조는 스냅샷에 설명되어 있습니다.

요청 XML 구조

6 단계 : 테스트 단계가 하나 추가되었으므로 테스트 단계 횟수가 1로 증가합니다. 부하 테스트 및 보안 테스트 단계를 추가하면 해당 카운터가 자동으로 증가합니다.

테스트 단계 카운터 증가

수동으로 요청을 보내고 응답을 읽는 방법 SoapUI

1 단계 : 아래 예시는 두 정수를 더하는 방법입니다.

  • intA — 5
  • intB — 5

다음 :

  1. 요청 XML에서 물음표 대신 다음 입력값을 입력하십시오.
  2. 해당 XML 태그를 업데이트한 후 클릭하세요. 요청 제출 응답을 확인하기 위해.

intA와 intB를 사용하여 수동으로 요청 보내기

2 단계 : 요청이 제출되면 웹 서버에서 웹 서비스를 처리하고 아래와 같이 응답을 반환합니다.

이 답변은 5 더하기 5는 10임을 확인시켜 줍니다.

덧셈 결과를 보여주는 SOAP 응답

SOAP 응답 및 로그 패널 이해하기

앞서 언급했듯이 SOAP 메시지는 HTTP를 통해 전송됩니다. RAW 메시지를 검사하면 SOAP 요청과 응답이 HTTP를 통해 어떻게 전달되는지 명확히 알 수 있습니다.

1 단계 : 클릭 RAW 의 탭 SoapUI 요청 창.

  1. 요청이 웹 서버로 전송되므로 HTTP POST 메서드가 사용됩니다.
  2. SOAP 요청은 HTTP 메시지 본문에 담겨 전송됩니다.

SOAP 요청 RAW 탭

2 단계 : 이제 RAW 의 탭 SoapUI 응답 창을 통해 HTTP를 통해 응답이 어떻게 전달되는지 이해합니다.

  1. 요청이 처리된 후에는 성공을 나타내는 HTTP 응답 코드(200)가 표시됩니다.
  2. SOAP 응답은 HTTP 메시지 본문에 담겨 클라이언트로 반환됩니다.

HTTP 200 응답이 포함된 SOAP 응답 RAW 탭

아래 표는 빠른 디버깅을 위해 흔히 사용되는 HTTP 응답 코드를 요약한 것입니다.

HTTP Code 기술설명
1xx 정보 : 요청이 접수되었으며, 처리가 진행 중입니다.
2xx 성공: 요청 사항을 성공적으로 접수, 이해 및 수락했습니다.
3xx 리디렉션: 요청을 완료하려면 추가 조치가 필요합니다.
4xx 클라이언트 오류: 요청에 잘못된 구문이 포함되어 있거나 요청을 처리할 수 없습니다.
5xx 서버 오류: 서버가 유효한 것으로 보이는 요청을 처리하지 못했습니다.

3 단계 : 테스트 케이스 창에는 요청 및 응답에 대한 추가 메타데이터도 표시됩니다.

테스트 케이스 창 메타데이터

  1. 전송되는 요청에 헤더가 없음을 나타냅니다.
  2. 웹 서버로 전송되는 요청에 첨부 파일이 없음을 나타냅니다.
  3. 응답에 포함된 헤더 항목 10개를 나타내며, 클릭하면 볼 수 있습니다.
  4. 응답 메시지에 첨부 파일이 없음을 나타냅니다.

로그 창

로그 창에는 클라이언트와 서버 간에 교환된 모든 정보가 표시됩니다. 가장 일반적으로 사용되는 로그 탭은 아래에 설명되어 있습니다.

SoapUI 로그 창 탭

SoapUI 로그: 웹 서버에서 받은 응답 정보를 표시합니다. 동일한 데이터가 soapui.log 파일에도 저장됩니다. SoapUI bin 디렉토리.

SoapUI 로그 탭

HTTP 로그: 모든 HTTP 패킷 전송 내역을 표시합니다. RAW 보기에서 볼 수 있는 모든 정보는 HTTP 로그에도 기록됩니다.

HTTP 로그 탭

오류 로그: 프로젝트 세션 동안 발생한 모든 오류를 표시합니다. 동일한 정보는 soapui-errors.log 파일에도 저장됩니다. SoapUI bin 디렉토리.

메모리 로그: 메모리 사용량을 모니터링하고 차트로 표시합니다. 메모리 사용량이 많은 작업을 실행할 때 유용합니다.

메모리 로그 탭

테스트 스위트, 테스트 케이스, 테스트 단계가 모두 준비되었고 성공적인 응답을 받았다면, 다음 단계는 응답을 검증하는 것입니다. 어설션 유형은 다음 튜토리얼에서 다룹니다.

자주 묻는 질문

테스트 스위트는 관련된 테스트 케이스들을 그룹화하는 컨테이너입니다. SoapUI 프로젝트. 테스트 케이스는 SOAP 요청, REST 요청 또는 어설션과 같은 하나 이상의 테스트 단계를 포함하는 단일 시나리오입니다.

예. SoapUI SOAP 및 REST 테스트를 모두 지원합니다. 새 프로젝트를 생성할 때 WSDL 기반 서비스의 경우 '새 SOAP 프로젝트'를 선택하고 REST API의 경우 '새 REST 프로젝트'를 선택하세요. 테스트 단계에는 REST 테스트 요청, JDBC 요청 등이 포함됩니다. Groovy 스크립트.

테스트 스위트를 열고 초록색 재생 버튼을 클릭하세요. SoapUI 모든 테스트 케이스를 제시된 순서대로 실행합니다. 테스트 스위트 속성 탭에서 병렬 또는 순차 실행을 구성할 수도 있습니다.

예. 속성 단계, 속성 전송 단계 또는 데이터 소스 단계를 사용하세요.SoapUI 장점) 동일한 테스트 케이스를 통해 여러 입력값을 실행할 수 있습니다. 이는 다양한 입력 조합에 걸쳐 데이터 기반 테스트를 수행하는 데 유용합니다.

AI 어시스턴트는 WSDL 또는 OpenAPI 사양을 읽고 현실적인 입력 조합, 예외 상황 및 어설션 패턴을 제안할 수 있습니다. 이러한 제안은 다음과 같은 형식으로 내보낼 수 있습니다. SoapUI XML 또는 Groovy 스크립트를 사용하면 대규모 테스트 스위트를 구축할 때 수작업을 줄일 수 있습니다.

네. AI 도구는 분석할 수 있습니다. SoapUI 로그 및 HTTP 로그 항목을 분석하고, 반복되는 오류를 클러스터링하며, 스키마 불일치 또는 인증 실패와 같은 근본 원인을 파악합니다. 이를 통해 회귀 테스트 주기 및 대규모 야간 실행 중에 문제 해결 속도를 높일 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.