Software Test13 [Postman 사용법] 9. 모의서버 1. Mock Server? 모의 서버는 프론트엔드 혹은 백엔드의 지연으로 인해 포스트맨의 작업이 효율적으로 완료되지 못하는 것을 완화하기 위해 사용하는 것으로, 실제 요청을 보내기 전에 이 모의 서버를 만들어 각 엔드포인트와 해당 응답을 시뮬레이션할 수 있도록 도와주는 기능입니다. 이를 사용하면 백엔드를 돌리지 않고 잠재적인 응답을 볼 수 있습니다. 모의 서버는 API 개발의 가장 초기 단계에서 팀 구성원 간의 명확한 의사소통을 도와주고 기대치를 조정하는데 도움을 줍니다. 결과적으로 개발 프로세스의 모든 팀이 병렬로 작업할 수 있어 지연을 완화합니다. 포스트맨을 사용하면 두 가지 유형의 모의 서버를 만들 수 있습니다. 개인 모의 서버 : 비공개로, 사용자가 요청 헤더에 포스트맨 API 키를 추가해야 합.. 2020. 8. 19. [Postman 사용법] 8. Monitoring 1. Monitoring? 포스트맨은 컬렉션을 정기적으로 실행하여 성능과 응답을 확인할 수 있도록 모니터링 기능을 제공합니다. 컬렉션의 모든 요청이 올바르게 동작하는지 확인하기 위해 최소 5분, 최대 주 1회 단위로 자주 실행하도록 설정할 수 있습니다. Environment를 설정할 수 있으며, 테스트가 있는 요청의 경우에는 테스트가 실패했을 때 사용자에게 경보를 알립니다. 이 경보 수신 방법에 대해서는 별도로 지정이 가능합니다. (1) 가격 모니터링의 경우 아래와 같이 비용이 적용됩니다. Postman Postman Pro Postman Enterprise 요청 건수/month 1000건 1만건 10만건 요청 건수 추가 비용 X 초과 1000건당 $0.75 단, 한달에 1회 5만 건을 $20에 사전 구.. 2020. 8. 19. [Postman 사용법] 7. Test Automation (Newman & Jenkins) 1. Newman? Newman은 포스트맨을 위한 커맨드 라인 Collection Runner입니다. 확장성을 염두에 두고 설계되었기 때문에 다른 서버나 시스템과 쉽게 통합이 가능합니다. 그래서 Jenkins나 Travis CI, Docker 등 많은 다른 서비스와 함께 사용하는 경우가 많습니다. 먼저 Newman을 설치해 보도록 하겠습니다. Newman은 npm 레지스트리 와 github 에 있습니다. 단, Newman은 node.js 기반으로 동작하기 때문에 Newman을 실행하려면 node.js가 필수적으로 설치되어 있어야 합니다. node.js가 설치되어 있다고 가정하고, newman을 설치하고 collection을 실행해 보겠습니다. npm install -g newma.. 2020. 8. 19. [Postman 사용법] 6. CRUD 작성 예제 1. CRUD 작성 앞선 장에서 배운 것들을 토대로 간단한 CRUD를 수행하는 테스트를 작성해 보겠습니다. 테스트를 위한 백엔드 서버 프로그램은 GitHub에 올려두었습니다. (1) Get All Boards 현재 존재하는 전체 게시물 수를 가져오는 요청입니다. 응답이 정상적으로 왔는지, 반환된 데이터의 수가 총 3개로 일치하는 지를 검사합니다. (서버 프로그램을 올린 직후에는 초기 데이터로 게시물 3개가 데이터베이스가 존재합니다) 요청의 결과가 정상적으로 동작하였음을 확인할 수 있습니다. (2) Create Boards 다음으로 게시물 하나를 추가해보도록 하겠습니다. form-data로 데이터를 전송하며, 이 경우 파일을 함께 전송할 수도 있습니다. 파일 업로드의 경우 아래에서 update 예제로 다루.. 2020. 8. 19. [Postman 사용법] 5. 연쇄 요청 간 데이터 유지 및 세션 동작 방식 1. Chained Request 4장까지 기본적인 Postman의 사용법에 대해 알아보았습니다. 더 많은 기능들이 존재하지만, 여기까지만 알고 있다면 앞선 요청에서 반환된 데이터를 이어지는 요청에서 사용할 수 있도록 연쇄 요청을 작성할 수 있습니다. 세션 토큰이나 사용자 ID와 같은 정보를 이어지는 요청에서 계속적으로 사용해야 할 때 주로 이 방식을 이용합니다. 이어지는 요청 간에 데이터를 유지하기 위해서는 응답으로 받은 데이터를 추출하여 전역 변수나 환경 변수에 저장하는 작업이 필요합니다. 간단한 예와 함께 확인해보도록 하겠습니다. 게시물을 삽입하는 요청과 삽입된 게시물의 ID를 받아 첨부 이미지 파일을 게시물 정보에 추가하는 요청이 있다고 가정해 봅시다. 이 요청은 boardId를 반환합니다. bo.. 2020. 8. 19. [Postman 사용법] 4. 변수 (Environment 및 Global variables) 포스트맨에도 변수라는 개념이 존재합니다. 일반적으로 개발에서 사용되는 변수와 동일한 변수를 의미하며, 동일한 목적으로 사용됩니다. 그중에서도 Environment와 Global 변수는 조금 다르게 사용되는데 이를 중점으로 살펴보겠습니다. 1. Postman의 변수 포스트맨의 변수(variables)는 일반적으로 사용되는 변수와 같은 방식으로 동작합니다. 여러 위치에서 변수의 값을 재사용할 수 있으며, 값을 변경하면 해당 변수의 인스턴스 각각이 변경된 값으로 적용됩니다. 예를 들어 동일한 도메인을 사용하는 여러 API 엔드포인트가 있다고 가정했을 때, 도메인을 변수로 저장해놓으면, 값을 반복하는 대신 요청에서 {{domain}}/endpoint1과 domain/endpoint2와 같이 사용할 수 있습니다... 2020. 8. 19. [Postman 사용법] 3. 응답 검증 (Test Scripts) 요청에 대한 응답이 예상한 응답과 동일한지 검증하기 위해 Test scripts를 작성합니다. 이 장에서는 Test scripts를 작성하는 방법 및 예제를 살펴보겠습니다. 1. 포스트맨의 Scripts란? 2. Pre-request scripts란? 3. Test scripts란? 4. Script Example 5. 분기 및 반복 1. 포스트맨의 Scripts란? 포스트맨은 Node.js 기반의 런타임을 포함하고 있어, Request와 Collection에 동적으로 동작을 추가할 수 있습니다. 이를 통해 동적 매개변수를 사용하거나 요청 간에 데이터를 전달하는 것이 가능합니다. 이런 동적 작업을 수행하는 2가지 이벤트 흐름에 대해 자바스크립트 코드를 작성할 수 있습니다. Pre-request Scrip.. 2020. 8. 19. [Postman 사용법] 2. Request와 Response 이 장에서는 실제로 어떻게 요청을 보내고, 어떻게 응답을 받게 되는지 살펴보겠습니다. Request Response 1. Request 실제로 API에 대한 테스트를 진행하기 위해서는 Request를 생성해주어야 합니다. 마찬가지로 아래와 같은 세 가지 방법으로 Request 생성이 가능하며, 컬렉션을 생성하면 기본 untitled request가 생성되어 있습니다. Request 뷰를 조금 더 자세히 살펴보겠습니다. 이 뷰에서는 Request를 보내기 위해 많은 옵션들을 지정할 수 있습니다. ① 이름 : 현재 Request의 이름입니다. 저장되기 전에는 기본적으로 URL과 동일하게 지정되고, 변경 가능합니다. ② HTTP METHOD : 보낼 요청의 메서드를 지정할 수 있습니다. 대부분이 메서드를 지원.. 2020. 8. 19. [Postman 사용법] 1. 환경 설정 (Workspace와 Collection) 이 장에서는 Postman의 Workspace, Collection 그리고 작업한 Workspace를 다른 사람과 공유하는 방법에 대해 알아보겠습니다. Workspace란? Team Workspace 생성 Collection 이란? Collection 생성 Sharing Conclusions 1. Workspace란? workspace는 포스트맨의 모든 기능을 담고 있는 뷰입니다. Postman의 workspace는 Personal workspace와 Team workspace로 구분될 수 있습니다. Team workspace는 Team의 구성원들과 workspace를 공유하기 위한 것이며, 실시간으로 데이터가 동기화됩니다. workspace의 단위는 목적에 따라 자유롭게 지정할 수 있습니다. 기능별 :.. 2020. 8. 19. [Postman 사용법] 0. 이 카테고리에서는.. Postman은 HTTP 클라이언트로, 다음과 같은 기능을 제공합니다. 서버로 리퀘스트 전송하기 테스트 스크립트 작성하기 컬렉션 생성 및 실행하기 리퀘스트 연결하기 이런 기능들을 이용해서 Contract Test를 수행할 수 있습니다. Contract Test란 서비스 제공자(일반적으로 서버 프로그램)가 계약(요청과 응답)대로만 동작하는지 검사하는 것입니다. Contract Test에 대한 자세한 내용은 Martin Fowler가 작성한 Contract Test에서 확인하실 수 있습니다. 이 장에서는 Postman의 사용법에 대해 알아보겠습니다. 내용의 대부분은 아래 링크를 참조하였습니다. Postman Docs Home Managing APIs Learn how to create, read, updat.. 2020. 8. 19. 이전 1 2 다음