API Test/POSTMAN2025. 3. 14. 08:00

API 테스트 도구 Postman에 대해 알아 보았어요

 

API 테스트

 

그전에 API가 뭘까요?

 

### API란 무엇인가요?

APIApplication Programming Interface의 약자로, 한국어로는 응용 프로그램 프로그래밍 인터페이스라고 합니다. 이는 서로 다른 소프트웨어 애플리케이션들이 원활하게 상호 작용하고 통신할 수 있도록 해주는 중간 매개체 또는 규칙의 집합을 의미합니다. 비유하자면, 서로 다른 언어를 사용하는 사람들이 통역사를 통해 대화하는 것과 같습니다.

### API의 역할과 중요성

현대의 디지털 환경에서 다양한 애플리케이션과 서비스들이 존재하며, 이들은 서로 데이터를 교환하고 기능을 공유해야 할 필요가 있습니다. API는 이러한 필요성을 충족시켜주는 핵심 요소로서 다음과 같은 역할을 합니다.

  1. 상호 운용성 제공: 서로 다른 시스템이나 애플리케이션이 데이터를 주고받을 수 있게 합니다.
  2. 개발 효율성 향상: 이미 검증된 기능을 재사용하여 개발 시간을 단축하고 오류를 최소화합니다.
  3. 유연한 확장성 제공: 새로운 기능이나 서비스를 손쉽게 추가하여 애플리케이션을 발전시킬 수 있습니다.

### API의 작동 방식

API는 요청(request)응답(response)의 형태로 동작하며, 보통 다음과 같은 단계를 거칩니다.

  1. 클라이언트가 특정한 요청을 API를 통해 보냅니다.
  2. 서버는 해당 요청을 처리하고 결과를 생성합니다.
  3. 서버는 결과를 응답으로 클라이언트에게 전달합니다.

이러한 과정에서 API는 데이터의 형식, 통신 방법, 인증 등의 규칙을 정의하여 양측이 원활하게 소통할 수 있도록 합니다.

### API의 실생활 예시

  • 소셜 미디어 연동: 여러 웹사이트에서 구글, 페이스북, 네이버 등으로 로그인할 수 있는 기능은 해당 플랫폼의 API를 활용한 것입니다.
  • 지도 서비스: 배달 앱이나 여행 앱에서 지도를 표시하고 경로를 안내하는 것은 지도 제공업체의 API를 사용합니다.
  • 결제 시스템: 온라인 쇼핑몰에서 신용카드나 간편결제를 처리하는 과정은 결제 대행사의 API를 통해 이루어집니다.
  • 날씨 정보 제공: 날씨 앱이나 포털 사이트에서 실시간 기상 정보를 표시하는 것은 기상청이나 기상 서비스 업체의 API를 이용한 결과입니다.

### API의 유형

  1. 웹 API: HTTP 프로토콜을 기반으로 웹 상에서 데이터를 주고받는 API입니다. RESTful API와 SOAP API가 대표적입니다.
  2. 운영체제 API: 윈도우나 리눅스와 같은 운영체제에서 제공하는 기능을 활용하기 위한 API입니다.
  3. 라이브러리 또는 프레임워크 API: 프로그래밍 언어나 프레임워크에서 제공하는 기능을 사용할 수 있도록 하는 API입니다.

### API의 장점

  • 효율성 증대: 반복적인 기능을 직접 구현할 필요 없이, 기존의 API를 활용하여 빠르게 개발할 수 있습니다.
  • 표준화된 통신: 정해진 규격에 따라 데이터 통신이 이루어지므로 일관성을 유지할 수 있습니다.
  • 보안 강화: 인증과 권한 부여를 통해 안전한 데이터 교환이 가능합니다.
  • 커뮤니티와의 연계: 공개 API를 통해 외부 개발자들과 협업하여 생태계를 확장할 수 있습니다.

API는 서로 다른 소프트웨어 간의 연결 고리로서, 현대의 애플리케이션 개발에서 빼놓을 수 없는 중요한 요소입니다.

API를 활용하면 다양한 서비스와 기능을 손쉽게 통합할 수 있어 사용자들에게 보다 풍부하고 일관된 경험을 제공할 수 있습니다.

 

 

Postman이란 무엇인가요?

Postman은 API 테스트와 개발을 위한 확장 가능한 도구로, CI/CD 파이프라인에 빠르게 통합할 수 있습니다.

 

2012년 Abhinav Asthana가 API 워크플로우를 단순화하기 위해 사이드 프로젝트로 시작한 이래로, 현재는 400만 명 이상의 사용자가 이용하고 있습니다.

 

간단히 말해서 여기서 API는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)의 약자로, 소프트웨어 애플리케이션들이 API 호출을 통해 서로 통신할 수 있도록 해주는 인터페이스를 의미합니다.

 

왜 Postman을 사용해야 할까요?

  1. 접근성: Postman은 계정에 로그인하기만 하면 어디서나 파일에 접근할 수 있습니다.
    컴퓨터에 Postman 애플리케이션만 설치되어 있으면 언제든지 사용이 가능하므로 편리합니다.
    클라우드릉 이용하여 브라우저에도 사용가능합니다.
  2. 컬렉션 활용: Postman은 API 호출을 컬렉션으로 묶어서 관리할 수 있습니다.
    각 컬렉션은 하위 폴더와 여러 요청을 포함할 수 있어 테스트 스위트를 체계적으로 구성하는 데 도움이 됩니다.
  3. 협업 기능: 컬렉션과 환경 설정을 가져오기나 내보내기를 통해 쉽게 공유할 수 있으며, 직접 링크를 통해서도 컬렉션을 공유할 수 있어 팀원들과의 협업이 편리합니다.
  4. 환경 설정: 다양한 환경을 설정하면 동일한 컬렉션을 여러 환경에서 사용할 수 있어 테스트의 반복을 줄일 수 있습니다.
    이는 파라미터화를 통해 가능하며, 이를 통해 효율적인 테스트 수행이 가능합니다.
  5. 테스트 작성: 각 API 호출에 대해 성공적인 HTTP 응답 상태를 확인하는 등의 테스트 체크포인트를 추가할 수 있습니다.
    이를 통해 테스트 커버리지를 높이고 예상치 못한 오류를 미리 방지할 수 있습니다.
  6. 자동화 테스트: 컬렉션 러너(Collection Runner)나 Newman을 사용하면 테스트를 여러 번 반복 실행할 수 있어, 반복적인 테스트 작업에 소요되는 시간을 절약할 수 있습니다.
  7. 디버깅 지원: Postman 콘솔을 통해 응답으로 받은 데이터를 확인할 수 있어 디버깅이 용이합니다.
    이를 통해 문제 발생 시 신속하게 원인을 파악하고 해결할 수 있습니다.
  8. 지속적 통합(CI) 지원: 지속적인 통합을 지원하여 개발 프로세스에 자연스럽게 녹아들 수 있습니다.
    이를 통해 개발과 테스트의 효율성을 높일 수 있습니다.

 

 

컬렉션 러너(Collection Runner)

1. 컬렉션 러너란 무엇인가요?

컬렉션 러너는 Postman에서 여러 개의 API 요청을 자동화하여 일괄 실행할 수 있게 해주는 도구입니다. 이를 통해 대량의 테스트 데이터를 사용하거나 반복적인 테스트를 효율적으로 수행할 수 있습니다.

2. 컬렉션 러너의 주요 기능

  • 대량의 데이터로 테스트 실행:
    • CSV 또는 JSON 파일을 사용하여 다양한 입력값으로 테스트를 수행할 수 있습니다.
    • 데이터 드리븐(data-driven) 테스트를 통해 다양한 시나리오를 검증합니다.
  • 반복적인 요청 자동화:
    • 여러 요청을 순차적으로 또는 병렬로 실행하여 전체 API 흐름을 테스트합니다.
    • 테스트 스크립트를 사용하여 각 요청의 결과를 확인하고 조건부 로직을 구현할 수 있습니다.
  • 결과 보고 및 분석:
    • 각 요청에 대한 응답 시간, 상태 코드, 테스트 결과 등을 종합적으로 보여줍니다.
    • 테스트 실행 후 결과를 파일로 내보내어 공유하거나 분석할 수 있습니다.

3. 컬렉션 러너 사용 방법

Step 1: 컬렉션 준비

  • 테스트하려는 API 요청들을 하나의 컬렉션에 모아둡니다.
  • 각 요청에 필요한 테스트 스크립트와 변수 설정을 완료합니다.

Step 2: 컬렉션 러너 실행

  • Postman 상단 메뉴에서 'Runner' 아이콘을 클릭합니다.
  • 컬렉션 러너 창이 열리면 실행할 컬렉션을 선택합니다.

Step 3: 실행 설정 구성

  • 환경(Environment) 선택: 필요한 환경 설정을 선택하여 변수 값을 지정합니다.
  • 데이터 파일 추가(선택 사항): CSV 또는 JSON 파일을 추가하여 데이터 드리븐 테스트를 설정합니다.
  • Iteration 설정: 반복 횟수를 지정하여 테스트를 여러 번 실행할 수 있습니다.
  • Delay 설정(선택 사항): 각 요청 사이의 지연 시간을 설정합니다.

Step 4: 테스트 실행 및 결과 확인

  • 설정이 완료되면 'Run' 버튼을 클릭하여 테스트를 실행합니다.
  • 실행 중에는 진행 상황과 각 요청의 성공 여부를 실시간으로 확인할 수 있습니다.
  • 테스트가 완료되면 결과 요약과 상세 정보를 검토합니다.

 

 

 

Newman

1. Newman이란 무엇인가요?

Newman은 Postman 컬렉션을 명령줄에서 실행할 수 있게 해주는 CLI(Command Line Interface) 도구입니다. 이를 통해 Postman의 기능을 CI/CD 파이프라인에 통합하여 자동화된 테스트 환경을 구축할 수 있습니다.

2. Newman의 주요 기능

  • 명령줄에서의 테스트 실행:
    • GUI 없이도 터미널에서 Postman 컬렉션을 실행할 수 있습니다.
    • 스크립트화하여 반복적인 테스트를 자동화합니다.
  • CI/CD 통합:
    • Jenkins, GitLab CI/CD 등과 연동하여 코드 배포 시 자동으로 테스트를 수행합니다.
    • 지속적인 통합과 배포 프로세스에 품질 검증 단계를 추가합니다.
  • 다양한 보고서 형식 지원:
    • 테스트 결과를 콘솔 출력 외에도 HTML, JSON, XML 등 다양한 형식으로 내보낼 수 있습니다.
    • 상세한 보고서를 통해 테스트 결과를 시각적으로 분석할 수 있습니다.

3. Newman 사용 방법

Step 1: Newman 설치

  • Node.js가 설치되어 있어야 합니다.
  • 터미널에서 다음 명령어로 Newman을 전역 설치합니다:

npm install -g newman

Step 2: 컬렉션과 환경 내보내기

  • Postman에서 실행할 컬렉션과 환경 설정을 JSON 파일로 내보냅니다.
    • 컬렉션: '...' 메뉴를 클릭하고 'Export'를 선택합니다.
    • 환경: 마찬가지로 환경 설정에서 'Export'를 선택합니다.

Step 3: Newman으로 테스트 실행

  • 기본 실행 명령어:
newman run [컬렉션_파일.json]

환경 설정을 포함하여 실행:

newman run [컬렉션_파일.json] -e [환경_파일.json]

 

테스트 타임아웃 설정, 병렬 실행 등 다양한 옵션을 조합하여 사용할 수 있습니다.

 

Step 4: 결과 확인

  • 콘솔에 출력된 테스트 결과를 확인합니다.
    • 각 요청의 상태, 응답 코드, 테스트 통과 여부 등이 표시됩니다.
  • 보고서를 생성한 경우, 지정된 경로에서 파일을 열어 상세한 결과를 봅니다.

컬렉션 러너와 Newman은 Postman의 기능을 확장하여 API 테스트의 자동화와 효율성 향상에 크게 기여합니다.

  • 컬렉션 러너는 Postman 내에서 손쉽게 대량의 테스트를 수행하고 결과를 확인할 수 있어 개발 단계에서 유용합니다.
  • Newman은 명령줄 기반의 도구로, 지속적인 통합 환경에서 자동화된 테스트를 실행하여 프로젝트의 안정성과 품질을 높일 수 있습니다.

이 두 가지 도구를 적절히 활용하시면 API 개발과 테스트 프로세스가 더욱 체계적이고 효율적으로 바뀔 것입니다.

 

 

Postman을 통해 얻을 수 있는 이점은 다음과 같습니다:

  • 효율성 증대: 테스트 자동화와 환경 설정을 통해 반복적인 작업을 줄이고 생산성을 높일 수 있습니다.
  • 팀 협업 강화: 공유 기능을 통해 팀원들과 원활한 협업이 가능하며, 작업의 일관성을 유지할 수 있습니다.
  • 품질 향상: 체계적인 테스트와 디버깅을 통해 제품의 품질을 높이고 사용자 경험을 개선할 수 있습니다.

Postman은 API 개발과 테스트에 있어 강력하고 유용한 도구입니다.

위의 기능들을 활용하시면 작업 효율성과 품질을 크게 향상시킬 수 있을 것입니다.

 

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터