700===Dev Util/Automated Testing

Bruno - API 테스팅 도구 🚀

블로글러 2025. 6. 10. 22:37

API 테스팅 하면 Postman이 떠오르시죠? 하지만 최근 보안 정책과 클라우드 의존성 때문에 고민이 많으셨다면, 이번 글에서 소개할 Bruno가 여러분의 새로운 선택지가 될 수 있을 거예요. 마치 무거운 짐을 덜어낸 것처럼 가볍고 빠른 이 도구에 대해 함께 알아볼까요?

등장 배경

예전에는 API 테스팅이라고 하면 curl 명령어나 간단한 스크립트로 충분했습니다. 하지만 웹 애플리케이션이 복잡해지면서 Postman, Insomnia 같은 GUI 도구들이 등장했죠. Bruno는 Postman과 유사한 도구들이 대표하는 현상태를 혁신하는 것을 목표로 하는 새롭고 혁신적인 API 클라이언트입니다.

기존 도구들의 문제점들:

  1. 클라우드 의존성: Postman v10부터는 완전히 오프라인으로 실행할 수 없으며, 클라이언트를 사용하려면 Postman 클라우드 서비스에 로그인해야 함
  2. 보안 우려사항: 지난 몇 년 동안 잘 알려진 API 클라이언트들이 점점 더 침입적이 되어 많은 조직에서 보안 우려를 불러일으킴
  3. 복잡성 증가: 단순한 API 클라이언트에서 종합 플랫폼으로 발전하면서 복잡도가 증가

핵심 원리

Bruno는 파일 시스템 기반의 혁신적인 접근 방식을 사용합니다:

Bruno 컬렉션 구조
├── 📁 MyAPI Collection/
│   ├── 📁 Users/
│   │   ├── get-users.bru
│   │   └── create-user.bru
│   ├── 📁 Products/
│   │   ├── list-products.bru
│   │   └── update-product.bru
│   └── environments/
│       ├── dev.bru
│       └── prod.bru

주요 특징 비교표:

기능 Bruno Postman 장점
오프라인 사용 ✅ 완전 지원 ❌ 로그인 필요 보안성, 프라이버시
Git 연동 ✅ 네이티브 지원 ⚠️ 제한적 버전 관리 용이
파일 저장 방식 📁 로컬 파일시스템 ☁️ 클라우드 데이터 소유권
가져오기 ✅ Postman/Insomnia ✅ 자체 형식 마이그레이션 편의
가격 🆓 오픈소스 💰 일부 유료 비용 절약

 

Bruno의 동작 원리:
Bruno는 컬렉션을 파일시스템의 폴더에 직접 저장하고, API 요청에 대한 정보를 저장하기 위해 Bru라는 일반 텍스트 마크업 언어를 사용합니다.

주의사항 및 팁 💡

⚠️ 이것만은 주의하세요!

  1. 폴더 순서 문제
    • Postman 컬렉션을 가져올 때 Bruno가 폴더를 알파벳순으로 정렬하여 실행 순서가 깨질 수 있음
    • 해결 방법: 가져온 후 폴더명에 숫자 접두사를 추가하여 순서 조정
  2. 일부 기능 제한
    • 현재 HTTP와 HTTPS 프록시 동시 지원 등 일부 기능이 아직 개발 중
    • 해결 방법: 공식 로드맵을 확인하고 필요시 대안 도구와 병행 사용

💡 꿀팁

  • Bruno에서는 Postman과 Insomnia에서 파일을 가져올 수 있지만 클라우드 동기화는 지원하지 않음
  • Bruno의 'Assertion' 섹션은 Postman에 없는 전용 공간으로 더 포괄적이고 효율적인 테스팅 가능
  • Git 저장소와 함께 사용하면 팀 협업이 훨씬 수월해집니다
  • JavaScript로 테스트 스크립트를 작성하여 응답 데이터 검증 가능

마치며

Bruno는 10만 명 이상의 사용자 기반과 GitHub에서 지속적으로 증가하는 스타 수로 그 가치를 입증하고 있습니다. API 테스팅에서 보안과 단순함을 동시에 추구한다면 Bruno가 여러분의 새로운 도구가 될 수 있을 거예요. 처음에는 Postman에서 익숙해진 방식을 바꾸기 어려울 수 있지만, 한 번 써보시면 그 매력에 빠지실 겁니다!

참고 자료 🔖


#Bruno #API테스팅 #Postman대안 #오픈소스

728x90
반응형