API 테스트 도구 실전
Insomnia·Hoppscotch·Thunder Client·Apidog으로 API 테스트 도구 계열을 훑고, 프록시(Charles·mitmproxy)로 트래픽을 가로채 조작하는 법과 패킷 분석기(Wireshark·tcpdump)로 연결 문제를 진단하는 법을 다룬다. 이어서 Swagger UI 실전 — Try it out과 인증 토큰 설정, Postman과의 역할 구분과 연계 흐름, 우리 프로젝트에 문서를 붙이고 품질을 점검하는 방법까지 간다.
학습 목표
이 모듈 한 줄 요약 — "화면을 거치지 않고 창구를 직접 두드려 본다". 사람이 버튼을 누르는 대신, 프로그램이 주고받는 창구(API)에 직접 요청을 보내 보는 도구들을 다룬다. 화면이 멀쩡해도 창구가 틀린 값을 주면 결함이고, 화면이 아직 없어도 창구만 있으면 시험을 시작할 수 있다. 도구마다 생김새는 달라도 하는 일은 같으니, 하나를 익히면 나머지는 금방 읽힌다.
이 모듈을 마치면 모듈 12에서 배운 Postman·SoapUI 외에, 실무에서 자주 언급되는 API 테스트 도구들을 직접 설치하고 첫 요청을 만들 수 있다. 도구마다 문법은 다르지만, 모듈 12에서 배운 핵심 개념(요청 구성, 어서션, 환경 변수)이 그대로 적용된다는 것을 반복해서 확인한다. 나아가 요청을 만들어 보내는 도구를 넘어, 실제로 오가는 트래픽을 가로채고 조작하고 진단하는 도구 — 프록시(Charles·mitmproxy)와 패킷 분석기(Wireshark·tcpdump) — 까지 다룬다.
마지막 세 레슨은 현장에서 가장 먼저 마주치는 화면인 Swagger UI 를 다룬다. Try it out으로 API를 직접 실행하고, 로그인이 필요한 API에 토큰을 걸고, Postman과 역할을 갈라 쓰는 실무 흐름을 익힌 뒤, 우리 프로젝트에 문서를 붙이고 품질을 점검하는 데까지 간다.
완료 후 할 수 있는 것
- Insomnia로 API 요청을 만들고 응답을 검증할 수 있다
- Hoppscotch·Thunder Client로 설치 없이(또는 에디터 안에서) 빠르게 API를 테스트할 수 있다
- Apidog으로 API 설계·테스트·문서화가 하나로 연결되는 흐름을 경험할 수 있다
- 각 도구의 차별점을 이해하고, 팀 상황에 맞는 도구를 추천할 수 있다
- 프록시로 모바일 앱 트래픽을 가로채고, 브레이크포인트·Map Local·Rewrite로 서버 수정 없이 예외 상황을 만들어낼 수 있다
- 프록시로 안 되는 문제(연결 실패·인증서 오류·간헐적 끊김)를 패킷 레벨에서 좁혀 담당 팀에 넘길 수 있다
- Swagger UI에서 Try it out으로 API를 실행하고,
Authorize로 토큰을 걸어 인증이 필요한 API까지 테스트할 수 있다 - Swagger와 Postman의 역할을 구분하고, 스펙을 컬렉션으로 가져와 회귀 테스트·CI 실행까지 연결할 수 있다
- API 문서의 품질을 점검표로 리뷰하고, 운영 환경에 문서가 노출됐는지 확인할 수 있다
채용시장에서의 위치
채용공고에 "Postman 경험"은 거의 필수로 등장하지만, 실제 입사 후엔 팀마다 이미 다른 도구(Insomnia, Apidog 등)를 쓰고 있는 경우가 드물지 않다. 이 모듈의 목적은 도구 하나를 완벽히 마스터하는 게 아니라, "API 테스트 도구는 결국 같은 개념을 다른 화면으로 표현한 것" 이라는 감각을 길러 어떤 도구를 마주쳐도 빠르게 적응하는 것이다.
여기에 프록시와 패킷 분석이 더해지면 범위가 한 단계 넓어진다. 특히 모바일 앱 QA에서 프록시는 사실상 필수 다 — 앱에는 개발자도구가 없으므로, "이 화면이 어떤 API를 부르는지"조차 프록시 없이는 알 수 없다. 그리고 "네트워크 계층 문제로 보입니다"까지 말할 수 있는 QA는 여전히 드물다.
레슨 (8개)
- 중급약 18분
Insomnia로 API 테스트 시작하기: Postman과 비교하며 익히기
Insomnia는 Postman과 개념이 거의 같지만 더 가볍고 오픈소스인 API 클라이언트다. 모듈 12에서 배운 요청·어서션·환경 변수를 그대로 옮겨 쓰며, GraphQL과 OpenAPI 문서화에서 갈리는 차별점을 확인한다.
- 중급약 16분
Hoppscotch·Thunder Client — 설치 없이, 에디터 안에서 바로 쓰는 API 테스트
도구를 켜는 데 드는 마찰이 작을수록 테스트를 더 자주 하게 된다. 브라우저에서 바로 여는 Hoppscotch와 VS Code를 벗어나지 않는 Thunder Client로 "가벼운 API 테스트"의 자리를 익힌다.
- 중급약 20분
Apidog — API 설계·테스트·문서화·Mock 서버를 하나로
Postman이 "이미 있는 API를 테스트하는" 도구라면, Apidog은 API를 설계하는 단계부터 참여한다. 스펙 하나로 문서·Mock 서버·테스트 케이스가 함께 생성되는 통합 플랫폼의 흐름을 이해한다.
- 중급약 28분
Charles·mitmproxy 실전: 값을 바꿔 보내고 응답을 갈아끼우기
프록시는 트래픽을 보는 도구가 아니라 조작하는 도구다. 브레이크포인트·Map Local·Rewrite로 서버 없이 예외 상황을 만들어내는 법을 익힌다.
- 고급약 28분
Wireshark·tcpdump 실전: 프록시로 안 될 때 패킷을 본다
"가끔 연결이 끊긴다", "인증서 오류가 난다" 같은 문제는 애플리케이션 로그에 흔적이 없다. 패킷 레벨에서 원인을 좁히는 최소한의 기술을 익힌다.
- 입문약 25분
Swagger UI 실전: Try it out으로 API 두드리기, Authorize로 토큰 걸기
브라우저 주소창 하나로 API를 바로 실행해보는 Swagger UI의 화면을 읽고, Try it out → Execute 흐름으로 요청을 보내고, 로그인이 필요한 API를 Authorize 버튼으로 인증해 테스트한다.
- 중급약 25분
Swagger와 Postman은 경쟁 관계가 아니다: 차이, 가져오기, 실무 연결 흐름
문서를 담당하는 Swagger와 시나리오 테스트를 담당하는 Postman의 역할을 갈라 이해하고, 스펙을 컬렉션으로 가져와 회귀 테스트로 키우는 팀의 실제 작업 흐름을 따라간다.
- 중급약 25분
우리 프로젝트에 Swagger 붙이기: 자동 생성 설정, 문서 품질, 운영 노출 차단
Spring Boot·FastAPI·NestJS에서 OpenAPI 문서가 자동 생성되는 원리와 설정을 확인하고, QA 관점에서 문서 품질을 점검하고, 스펙 변화를 CI에서 감지하며, 운영 환경 노출을 막는 데까지 적용한다.
이 모듈의 실습
실습은 별도 저장소에서 진행합니다. 새 탭으로 열립니다.
- Swagger UI·mitmproxy·패킷 캡처로 API 트래픽 들여다보기중급 · 약 150분 · 바로 실습
도구: swagger-ui, openapi-to-postman, newman, mitmproxy, wireshark