Skip to content

[2019년] 스터디에서 작성한 실습코드 _'테스트 주도 개발로 배우는 설계와 실천' (스티브 프리먼 외) http://www.yes24.com/Product/Goods/9008455?OzSrank=1

Notifications You must be signed in to change notification settings

portfolio-y0711/2019_tdd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 

Repository files navigation

테스트 주도 개발로 배우는 객체 지향 설계와 실천

2019년도에 진행한 TDD 스터디



개발환경 / 사용한 라이브러리


목차

  • 작성한 코드

    chapter_12

    ..더보기

    chapter_13

    chapter_14

    chapter_15


  • 이 책에서 기대할 수 있는 것들

  • 이 책을 통해 깨닫게 된 것들

  • 이 책을 끝까지 읽기 위해 필요한 것들

  • 좋았던 점, 좋지 않았던 점


이 책에서 기대할 수 있는 것들

..닫기

✨ 이럴 때 읽으면 좋아요:

  • 단위 테스트의 필요성 은 알게 되었으나 객체 지향 개발에 어떻게 적용해야 할지 막막할 때

  • 테스트와 코드를 점진적으로 리팩토링 하면서 객체 지향을 달성해 나가는 과정 이 궁금할 때

  • BDD 및 인수 테스트 가 자연스럽게 TDD를 이끌어내는 방식이 궁금할 때

  • 웹 개발에서의 TDD 프로세스는 익숙해졌지만 애플리케이션 개발 에서의 TDD 프로세스가 잘 안 그려질때



이 책을 통해 깨닫게 된 것들

..닫기

❖ 객체의 단위 테스트 vs 객체망 테스트

  • 객체에 대한 단위 테스트 만으로 객체 지향 개발 이 완성되는 것은 아니다.

    ..닫기
    • 단일 객체들의 정상 작동 을 확인 했다고 전체 프로그램이 문제 없이 작동 할 것이라 기대할 수 없기 때문이다.

    • 단일 객체의 작동 보다 더 중요한 것은 _ 다른 객체와의 협력_ 즉, 객체 사이의 통신 이다.

    • 책에서는 객체 지향 개발에 필요한 객체망 테스트를 강조 한다.


❖ 코드의 점진적인 수정 = 테스트의 점진적인 수정

  • 개발자는 한 번에 확장에는 열려있고 수정에는 닫혀 있는 코드 (즉, OCP를 만족하는) 를 작성할 수 없다.

    ..닫기
    • 클래스 설계도 여러 연산들이 공통적으로 필요로 하는 컨텍스트(프로퍼티)가 명확해 질 때까지 반복 수정 된다.

    • 따라서 설계의 변경에 따라 테스트도 점진적으로 변화 해 나갈 수 밖에 없다.

    • 저자는 요구 사항의 변경에 의해 기존 테스트가 어떻게 실패 하는지를 설명하고, 테스트의 실패를 최소화 하는 방법에 대해 이야기 한다.


❖ 사용자가 원하는 스토리 = 개발자의 개발 스토리

  • 하고 싶은 이야기를 잘 전달하고 싶으면, 잘 짜여진 스토리 가 필요하다.

    ..닫기
    • TDD에도 잘 짜여진 스토리가 필요한데 TDD의 스토리 가 바로 BDD와 인수 테스트이다.

    • 인수 테스트를 통해 사용자의 행위를 잘 기술해 놓고 이를 단위 테스트와 객체 연결망 테스트 를 통해 완성해 나가면 자연스럽다.


이 책을 끝까지 읽기 위해 필요한 것들

..닫기

✨ 이 정도는 미리 알고 있고 준비해야 해요:

  • 자바 코드를 어느 정도 능숙하게 작성할 줄 알고, 쓰레드를 이용한 비동기 프로그래밍 에 대해 이해하고 있어야 한다.

  • 테스팅 도구 를 사용해 본적이 있고, 테스트 더블 객체(stub, fake, mock, spy) 에 대해 대략적으로 알고 있어야 한다.

  • 콜백 리스너 알림 방식의 코드와 체이너블 메서드 코드를 보고 객체 구성을 상상할 수 있도록 어느 정도의 코드 독해력이 필요하다.

  • XMPP 서버를 설치하고 구성할 수 있을 정도의 오픈소스 소프트웨어 설치 경험 이 필요합니다.

  • 스쳐 지나갈 수 있는 저자의 짧막한 조언에 대해서도 그 의미를 서로 묻고 토론할 수 있는 경험 많은 선배나 동료 개발자 가 필요합니다.



좋았던 점, 좋지 않았던 점

..닫기

✨ 장점 :

  • 좋은 테스트를 작성하는 방법 뿐만 아니라 좋은 객체 지향 설계에 대해서도 알려주는 점이 좋았습니다.

  • 테스트를 왜 하는지, 그리고 테스트가 설계와 어떤 관계가 있는지 이론 설명을 한 뒤에 실습을 통해 이를 깨닫게 하고, 미처 다루지 못한 고급 주제에 대해서도 후반부에 심도 있게 다루는 구성이 좋았습니다.

  • 경매 스나이퍼라는 흥미로운 주제로 프로그램을 작성해서 좋았습니다.


✨ 단점 :

  • 출간된 지 좀 오래되어 deprecated 된 라이브러리를 사용하고 있어, 라이브러리와 관련한 문제가 있을 경우에 해결이 쉽지 않았습니다.

  • 책에 생략된 코드들이 많고 예제 소스 코드가 제공되지 않기 때문에 학습 및 프로그램 작성에 시간이 좀 많이 걸리는 편 입니다.


About

[2019년] 스터디에서 작성한 실습코드 _'테스트 주도 개발로 배우는 설계와 실천' (스티브 프리먼 외) http://www.yes24.com/Product/Goods/9008455?OzSrank=1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages