test 4

[Spring] HATEOAS - REST API & HATEOAS

이번에는 REST API 와 HATEOAS 에 대한 이야기를 해보겠습니다. 인프런의 백기선님의 강의 내용을 바탕으로 학습한 내용입니다. REST API REpresentational State Transfer Application Programming Interface 의 약자입니다. REST 는 인터넷 상에서 시스템 간의 상호 운용성을 제공하는 방법중 하나인데, 위키에서 정의한 것을 보면, 월드 와이드 웹과 같은 분산 하이퍼 미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이라고 소개 하고 있습니다. REST API 라고 하는 것은 이 REST 아키텍처 스타일을 따르는 API 입니다. https://ko.wikipedia.org/wiki/REST REST - 위키백과, 우리 모두의 백과사전 대한민국의..

BackEnd/Spring 2022.05.01

[ATDD] RestAssured

간단하게 ATDD에 대한 개념만 지난 글에서 잠깐 다루었습니다. 이번에는 ATDD 를 하기 위한 테스트 도구를 소개하고자 합니다. 1. RestAssured REST 어플리케이션의 HTTP Endpoint 에 초점을 맞춘 테스트 도구. RestAssured 를 본격적으로 소개하기 전에 먼저 인수 테스트는 블랙박스 테스트의 성격을 가지고 있고, 내부의 코드를 직접 호출하지 않고 외부에서만 요청하여 검증하는 것이 좋습니다. 예를 들어, 고객이 상품을 구매한다는 액션을 할 때, 상품의 재고를 확인하고 할인율을 적용하고 고객의 등급을 확인하고 이런 여러가지의 내부로직이 동작한다고 해봅시다. 그렇다면 인수 테스트로 검증하는 것은 "고객이 상품을 구매한다" → "상품 구매 성공" 이 시나리오를 검증하는것 입니다. ..

[ATDD] ATTD 란? Acceptance Test Driven Development

NEXTSTEP 의 ATDD 강의를 바탕으로 복습 및 ATDD 내 것으로 만들기! ATDD 란? 용어를 그대로 해석했을 경우, 인수 테스트 주도 개발 로서 인수 테스트를 먼저 작성한 후 기능 개발이 이루어지는 개발방법론입니다. 그러나 단순히 개발자의 사이드에서만, 즉 코드를 보는 쪽에서만 도입시켜야 되는 이론이 아닌 사용자와 개발자, 테스터 간의 커뮤니케이션을 원활하게 하는 개발 방법입니다. 커뮤니케이션을 원활하게 해준다는 것이 어떤 의미일지 생각해보면, 하나의 서비스를 구성할때 기획과 개발, 테스트 등 여러 관점에서 같은 것을 보게됩니다. 그리고 결과물을 보았을때 각자 예상했던것이 다를 수 있는 것이죠. 인수테스트는 이런 리스크를 방지하기 위해 기획단계부터 인수 조건을 정의하고 테스트를 작성하여 여러 ..

[TDD] TDD 란? (Test Driven Development)

[사진 : https://wooaoe.tistory.com/33] 우아한테크캠프 Pro 과정에서 배웠던 TDD 를 복습하고자 합니다. ✹ TDD란? Test Driven Development. 즉, 테스트가 주도하는 개발. 기존에 방식 : 설계 → 개발 → 테스트 TDD의 방식 : 설계 → (테스트 - 개발) 위와 같이 3가지의 cycle 을 돌며 개발을 진행하다 테스트를 통하여 설계의 오류를 잡을 수 있음. 🔄 TDD 개발 사이클 설계 → 실패하는 테스트 케이스 작성(작은 단위) → 테스트 통과하도록 작성 → 리팩토링 TDD 에서 코드는 크게 두가지로 나눕니다. 실제 구현 코드인 '프로덕션 코드' 와 테스트를 담당하는 '테스트 코드' TDD 로 개발을 진행하는 경우에는 TDD의 cycle에 맞게 프로덕..