Postman vs Insomnia: API 테스트 도구 완전 정복

백엔드 개발을 하다 보면 API를 테스트해야 할 일이 무수히 많습니다.
이때 가장 많이 사용되는 도구가 PostmanInsomnia입니다.
두 도구의 차이점과 설정 방법, 그리고 Spring Boot 기반 REST API 테스트에 어떻게 활용할 수 있는지 정리해보겠습니다.

 


1. Postman과 Insomnia, 어떤 도구인가?

Postman

  • UI가 직관적이며 팀 협업 기능이 잘 갖춰져 있음
  • API 문서화, Mock 서버, Test 스크립트 작성 기능 지원
  • 클라우드 동기화 기능 탑재 (계정 로그인 필요)
  • Windows, macOS, Linux, Web 버전 지원

Insomnia

  • 경량화된 UI로 빠르고 단순한 요청 테스트에 적합
  • 환경변수 설정이 편리하고 YAML 기반 설정 파일로 버전 관리에 유리
  • GraphQL, gRPC 요청 테스트에도 강점
  • 오픈소스 기반

개인적으로는 빠르게 테스트할 때는 Insomnia, 복잡한 인증·자동화 테스트가 필요한 경우엔 Postman을 선호합니다.

 


2. 기본 사용법 (Spring Boot 예제 API 기반)

예제 API 엔드포인트:

GET http://localhost:8080/api/hello

Postman

  1. Postman 실행 → "+ New" → "HTTP Request" 선택
  2. Method: GET, URL: http://localhost:8080/api/hello 입력
  3. Send 클릭 → 응답 확인

Insomnia

  1. Insomnia 실행 → "+ New Request"
  2. Request 이름, Method: GET, URL 입력
  3. Send 클릭 → JSON 응답 확인

 


3. POST/PUT 요청과 JSON 본문 입력

예제 엔드포인트:

POST http://localhost:8080/api/users
{
  "name": "홍길동",
  "email": "hong@example.com"
}

Postman

  1. Method: POST, URL 입력
  2. Body 탭raw 선택, JSON 형식 선택
  3. 본문에 JSON 입력 후 Send

Insomnia

  1. Request Body 탭 → JSON 선택
  2. JSON 본문 입력 후 Send

 


4. 환경 변수와 프로파일

테스트 환경(로컬/개발/운영)에 따라 API 주소가 달라질 때, 변수를 설정하면 재사용성이 좋아집니다.

Postman

  • Environments 기능 활용
  • {{base_url}} 과 같이 변수로 URL 설정 가능

Insomnia

  • 환경 관리자가 JSON 형태로 존재
  • {{ base_url }} 식으로 사용

 


5. 인증 테스트

1) JWT / Bearer Token

  • Postman: Authorization 탭 → Bearer Token 입력
  • Insomnia: Auth 탭 → Bearer Token 입력

2) Basic Auth, OAuth2

  • Postman은 OAuth2 토큰 요청 → 자동 헤더 설정 가능
  • Insomnia도 OAuth2 지원, UI가 간단

 


6. 테스트 결과 스크립트 (Postman 한정)

Postman은 응답 결과에 대한 자동 테스트 스크립트 작성이 가능합니다.

// Tests 탭에 작성
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

CI/CD 파이프라인과 연동하여 테스트 자동화할 때 유용합니다.

 

 


7. 어떤 도구를 선택할까?

기능 Postman Insomnia
초보자 친화 O
속도 / 가벼움 O
테스트 자동화 O
버전관리 연동 Pro 필요 YAML로 가능
Mock 서버 지원 O

 

 


결론

둘 다 훌륭한 API 테스트 도구입니다. 개인 프로젝트나 빠른 확인용은 Insomnia, 테스트 시나리오 자동화나 팀 협업에는 Postman이 적합합니다.

Spring Boot API 개발자라면 두 도구 모두 사용법에 익숙해지는 걸 추천드립니다.