ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 테스트 주도 개발 시작하기 - chapter2 ~ chapter4
    Test/테스트주도개발 시작하기 (최범균) 2023. 9. 30. 14:26

    2. TDD 시작

    2-1. TDD 란?

    - 구현을 먼저하고 나중에 테스트하는 것이 아니라, 먼저 테스트를 하고 그다음에 구현한다.

    - 즉, TDD로 개발할 때 먼저 해야 할 것은 기능을 검증하는 테스트 코드를 작성하는 것이다.

     

    * src/test/java 소스 폴더는 배포 대상이 아니므로 src/test/java 폴더에 코드를 만들면 완성되지 않은 코드가 배포되는 것을 방지하는 효과가 있다.

    2-2. TDD 예: 암호 검사기

     

    2-3. TDD 흐름

    1. 테스트가 개발을 주도

    2. 지속적인 코드 정리

    3. 빠른 피드백


    3. 테스트 코드 작성 순서

    3-1. 테스트 코드 작성 순서

    - 구현하기 쉬운 테스트부터 시작하기

    - 예외 상황을 먼저 테스트해야 하는 이유

        ㆍ예외 상황을 전혀 고려하지 않은 코드에 예외 상황을 반영하려면 코드의 구조를 뒤집거나

            코드 중간에 예외 사황을 처리하기 위해 조건문을 중복해서 추가하는 일 발생

    - 완급 조절

        ㆍ1. 정해진 값을 리턴

        ㆍ2. 값 비교를 이용해서 정해진 값을 리턴

        ㆍ3. 다양한 테스트를 추가하면서 구현을 일반화

    - 지속적인 리팩토링

     

    3-2. 테스트 작성 순서 연습

     

    3-3. 테스트할 목록 정리하기

    - TDD를 시작할 때 테스트할 목록을 미리 정리하면 좋다.

    - 범위가 큰 리팩토링을 진행할거면 git을 활용할 것!

     

    3-4. 시작이 안될 때는 단언부터 고민

    - 테스트 코드를 어떻게 작성할지 감을 못 잡겠다면 검증 코드부터 시작해보자.

     

    3-5. 구현이 막히면

    - 다시 진행

        ㆍ쉬운 테스트, 예외적인 테스트

        ㆍ완급 조절

     


    4. TDD - 기능 명세 - 설계

    4-1. 기능 명세

     

    4-2. 설계 과정을 지원하는 TDD

     

    4-3. 기능 명세 구체화

    - 복잡한 로직을 구현해야 하는 것 결국 개발자이므로 개발자는 최대한 예외적인 상황이나 복잡한 상황에 해당하는 구체적인 예를 끄집어내야 한다.

        ㆍ이를 위한 가장 좋은 방법은 담당자와 대화를 하는 것이다.

        ㆍ대화 과정이 쉽지 않을 때도 있지만 대화를 하지 않으면 올바르게 원하는 결과물을 개발하지 못한다.

     

    댓글

Designed by Tistory.