개발 & 방법론/ATDD

    REST-Assured 알아보기 (테스트를 위한 클라이언트 객체)

    REST Assured? REST API를 단순히 테스트하는 Java DSL(Domain-specific language)이다. POST, GET, PUT, DELETE, PATCH 및 HEAD Request를 지원하며, 요청과 응답을 검증하는 데 사용한다. 왜 사용하는가? 기존의 단위 테스트, 통합 테스트로 개발자의 안심을 이끌어 낼 수 있지만, 이는 내부 개발자의 관점이다. Rest-Assured는 외부 사용자의 관점에서 코드에 상관없이 요청과 응답으로 REST API 자동화 테스트를 구성하고 확인할 수 있어서, 사용자의 관점에서 한번 더 안심을 할 수 있다. 어떻게 보면 테스트를 더 추가하는 거라 과도한 테스트 코드라 의심할 수 있지만, 사용법이 매우 단순하기 때문에 간단히 Java를 알면 사용자 ..

    ATDD는 무엇인가?

    누구나 겪을 수 있는 상황 개발을 하다 보면 요구사항이 명확하지 않거나 부족한 경우에 많은 고민을 해본 적이 있을 것이다. 기획자에게 물어보거나 같이 요구사항을 해석하면서 개발하면 고객이 원하는 결과물이 아닐 경우가 높다. 기획자와 같이 요구사항을 재확인하여 수정해야 한다. 이런 상황을 예방하고 올바른 요구사항을 충족하려면 고객에게 질문해야 한다. 전화를 하거나 이메일 보내도 고객이 실시간으로 확인하는 것 아니기 때문에 응답에 시간이 걸린다. 답변을 받아도 이해하기 힘들 경우에 다시 정리해서 요청하기도 한다. 개발은 점점 딜레이 되고 고객의 불만이 조금씩 쌓인다. 문제의 원인은 서로 생각하는 관점이 다르기 때문이다. 괴리감을 해결하기 위해선 커뮤니케이션이 필요한데 전화 & 이메일은 한계가 뚜렷하다. 결과..

    ATDD를 접하게 된 과정

    많은 곳에서 TDD(테스트 주도 개발)를 하고 있으며 관련 도구가 많이 보인다. 좀 더 테스트 주도 개발을 알고 싶어서 최근에 관련 서적을 읽었다. 위의 두 서적은 제목처럼 TDD 내용이 다뤄진다. 그러나 두 서적 모두 핵심 내용은 TDD를 한 단계 더 확장시킨 ATDD가 중심이다. 생소한 ATDD를 접했지만, TDD와 흡사해서 금방 익숙해질거라 생각했다. 하지만 오래된 서적이라 예제 코드가 이해하기 힘들었거나, 코드없이 설명하니 ATDD를 제대로 이해하기 힘들었다. 좀 더 알고 싶어서 NEXTSTEP에서 진행하는 실습 위주의 교육과정을 수강했다. ATDD와 함께 클린 API로 가는 길 edu.nextstep.camp 서적만으로 이해하기 부족했던 부분을 실습 교육을 통해서 보완을 했다. 이제서야 배운 A..