2019년도에 진행한 TDD 스터디
목차
-
작성한 코드
-
이 책에서 기대할 수 있는 것들
-
이 책을 통해 깨닫게 된 것들
-
이 책을 끝까지 읽기 위해 필요한 것들
-
좋았던 점, 좋지 않았던 점
..닫기
✨ 이럴 때 읽으면 좋아요:
-
단위 테스트의 필요성 은 알게 되었으나 객체 지향 개발에 어떻게 적용해야 할지 막막할 때
-
테스트와 코드를 점진적으로 리팩토링 하면서 객체 지향을 달성해 나가는 과정 이 궁금할 때
-
BDD 및 인수 테스트 가 자연스럽게 TDD를 이끌어내는 방식이 궁금할 때
-
웹 개발에서의 TDD 프로세스는 익숙해졌지만 애플리케이션 개발 에서의 TDD 프로세스가 잘 안 그려질때
..닫기
-
객체에 대한 단위 테스트 만으로 객체 지향 개발 이 완성되는 것은 아니다.
..닫기
-
단일 객체들의 정상 작동 을 확인 했다고 전체 프로그램이 문제 없이 작동 할 것이라 기대할 수 없기 때문이다.
-
단일 객체의 작동 보다 더 중요한 것은 _ 다른 객체와의 협력_ 즉, 객체 사이의 통신 이다.
-
책에서는 객체 지향 개발에 필요한 객체망 테스트를 강조 한다.
-
-
개발자는 한 번에 확장에는 열려있고 수정에는 닫혀 있는 코드 (즉, OCP를 만족하는) 를 작성할 수 없다.
..닫기
-
클래스 설계도 여러 연산들이 공통적으로 필요로 하는 컨텍스트(프로퍼티)가 명확해 질 때까지 반복 수정 된다.
-
따라서 설계의 변경에 따라 테스트도 점진적으로 변화 해 나갈 수 밖에 없다.
-
저자는 요구 사항의 변경에 의해 기존 테스트가 어떻게 실패 하는지를 설명하고, 테스트의 실패를 최소화 하는 방법에 대해 이야기 한다.
-
-
하고 싶은 이야기를 잘 전달하고 싶으면, 잘 짜여진 스토리 가 필요하다.
..닫기
-
TDD에도 잘 짜여진 스토리가 필요한데 TDD의 스토리 가 바로 BDD와 인수 테스트이다.
-
인수 테스트를 통해 사용자의 행위를 잘 기술해 놓고 이를 단위 테스트와 객체 연결망 테스트 를 통해 완성해 나가면 자연스럽다.
-
..닫기
✨ 이 정도는 미리 알고 있고 준비해야 해요:
-
자바 코드를 어느 정도 능숙하게 작성할 줄 알고, 쓰레드를 이용한 비동기 프로그래밍 에 대해 이해하고 있어야 한다.
-
테스팅 도구 를 사용해 본적이 있고, 테스트 더블 객체(stub, fake, mock, spy) 에 대해 대략적으로 알고 있어야 한다.
-
콜백 리스너 알림 방식의 코드와 체이너블 메서드 코드를 보고 객체 구성을 상상할 수 있도록 어느 정도의 코드 독해력이 필요하다.
-
XMPP 서버를 설치하고 구성할 수 있을 정도의 오픈소스 소프트웨어 설치 경험 이 필요합니다.
-
스쳐 지나갈 수 있는 저자의 짧막한 조언에 대해서도 그 의미를 서로 묻고 토론할 수 있는 경험 많은 선배나 동료 개발자 가 필요합니다.
..닫기
✨ 장점 :
-
좋은 테스트를 작성하는 방법 뿐만 아니라 좋은 객체 지향 설계에 대해서도 알려주는 점이 좋았습니다.
-
테스트를 왜 하는지, 그리고 테스트가 설계와 어떤 관계가 있는지 이론 설명을 한 뒤에 실습을 통해 이를 깨닫게 하고, 미처 다루지 못한 고급 주제에 대해서도 후반부에 심도 있게 다루는 구성이 좋았습니다.
-
경매 스나이퍼라는 흥미로운 주제로 프로그램을 작성해서 좋았습니다.
✨ 단점 :
-
출간된 지 좀 오래되어 deprecated 된 라이브러리를 사용하고 있어, 라이브러리와 관련한 문제가 있을 경우에 해결이 쉽지 않았습니다.
-
책에 생략된 코드들이 많고 예제 소스 코드가 제공되지 않기 때문에 학습 및 프로그램 작성에 시간이 좀 많이 걸리는 편 입니다.