[TIL] Postman Flows

김건우·2024년 9월 22일

[TIL]

목록 보기
22/25

백엔드 개발자라면 기능을 개발하고, 실제 controller에 http 요청을 보내기 위한 툴로 Postman을 가장 많이 사용하고 있을 것이다.

이번 글에선 Postman에서 제공하는 Flows 라는 기능을 사용해본 후기를 작성하려 한다.

https://blog.advenoh.pe.kr/postman-flows-%EC%9D%B4%EB%9E%80/

해당 블로그에 flows 에 대한 자세한 설명이 설명되어있다.
그래서 자세한 설명을 제외한 사용 이유, 사용 후기를 풀어보겠다.


사용 계기

먼저 사용하게된 이유는 모든 개발을 끝내고, 전체 flow를 30초 내로 테스트 시연을 보여줄 상황이 되었다.

우리의 서비스가 잘 동작한다는 것을 보여주는 API 콜들을 연속적으로 호출하는 것인데, 다만 이 과정을 스크립트 / 기타 툴을 이용해 자동화하여 30초 이내로 시연을 마치는 것 이 요청사항 이였다.

예시

  1. 회원가입
  2. 로그인
  3. (일반 고객) 물건 주문
  4. 허브 작업 트리거(Scheduled job manual trigger)
    ...
  5. (배송기사) 배송 완료
  6. (일반 고객) 내 주문 목록 보기 -> 배송 완료 확인

이런식으로 B2B 물류 서비스를 예시로 들었을 때 다음과 같은 flow로 API 를 호출해가면서 제대로 동작하는지 보여주는 스크립트를 작성해야 한다.

이러한 스크립트를 작성하는 툴로는 여러개가 존재한다.

  • postman
  • .sh with curl
  • python script
  • spring endpoint
  • ...

여기서 postman의 flows 기능을 선택했다.


작성 한 flow 중 초반 부분을 살펴보면, Master 회원이 회원가입을 한 뒤, 로그인을 해 token을 받아온다. 그리고 해당 토큰으로 정보 확인을 통해 userId를 받아와 공급 회사와 수령회사를 만들어주는 flow의 예시이다.

사용법은 그저 Success 에서 필요한 Body나 헤더값을 꺼내서 이후 요청에 필요한 token 같은 값이라면 변수로 설정해서 여러 요청에서 가져다 쓸 수 있다.

좀 더 많은 기능이 있는 것 같지만, 통합테스트 정도의 경우라면 이 정도면 충분할 것 같다.

조금 더 발전시키면 설계 단계부터 도메인 또한 중요 / 비 중요로 나누는 기준이 되기도 한다.

ref: https://event.coupangcorp.com/kr/sessions13.html

결과는 다음처럼 flow를 따라 제대로 API 들이 동작하는지 딸깍 한번으로 검증할 수 있고, 각각의 flow를 따라가다 보면 어떤 과정으로 처음부터 끝까지 진행되고 있는지 쉽게 확인할 수 있다.


이번엔 Postman의 flows 기능을 사용해봤는데, 실제 spring의 통합테스트 보다 백엔드 개발자가 아니라도 쉽게 이해할 수 있는 듯 했고, 설계단계부터 flow를 작성해 본다면 중요 / 비중요 도메인을 나누는 지표가 되기도 한다.

세상에는 이런거 없나? 하면 웬만하면 다 존재하는 것 같다. 그만큼 새로운 것을 만드는 것은 어렵겠지만, 반대로 생각해보면 웬만하면 있는 기능이니 잘 찾아보고 활용하는 능력도 중요한 것 같다.

profile
공부 정리용

0개의 댓글