TDD와 단위테스트

Silex·2023년 2월 28일
0

movie

TDD(Test-Driven Development)

: 테스트 코드를 먼저 만들고 실제 프로덕션 코드를 나중에 만드는 개발 방법.

1. red : 실패하는 테스트를 구현
2. green : 테스트가 성공하도록 프로덕션 코드를 구현
3. blue : 프로덕션 코드와 테스트 코드를 리팩토링

  • 장점
    1. 테스트 커버리지가 높아진다
    : 테스트 코드를 까먹지 않게해줌
    2. 오버 엔지니어링 방지
    : 필요한 만큼만 코딩 가능
    3. 설계에 대한 피드백이 빠르다
    : 테스트 코드가 복잡하지 않게 하기 위해
    설계도 복잡하지 않게 만들게 됨

단위테스트(Unit Testing)

: 코드 단위의 테스트(메서드 레벨)

단위 테스트는 테스트 코드가 목적 코드의 완전성을 입증해주기 때문에 테스트 코드 그 자체만으로 주요한 가치가 있다.

  • 좋은 단위테스트 만들기(FIRST 법칙)
    Fast 빠르게 : 테스트는 빨라야한다
    Independent 독립적으로 : 테스트는 서로 의존하면 안된다
    Repeatable 반복가능하게 : 어느 환경에서도 반복 가능해야한다
    Self-validating 자가검증하는 : 테스트 결과 에 대해 성공 아니면 실패를 반환할 수 있어야 한다
    Timely 적시에 : 항상 적시에(코드 구현 전에) 반드시 작성되어야 한다
profile
"성공과 실패는 크고 중요한 것이 아니라 작고 섬세한 차이에서 갈린다. 모두가 중요하다고 여기는 일은 그만큼 많은 사람들이 신경 쓰니 웬만하면 놓치지 않는다. 결국 큰 것은 물론 작고 섬세한 것까지 신경 쓰냐 아니냐의 디테일이 승부의 핵심이다."

0개의 댓글