[영상후기] [10분 테코톡] 😼 피카의 TDD와 단위테스트

박철현·2023년 3월 12일
0

영상후기

목록 보기
27/160

movie

  • TDD : 테스트코드를 먼저 만들고 실제 코드를 나중에 만드는 개발 방법

    • Red : 실패하는 테스트 구현
    • Green : 테스트가 성공하도록 프로덕션 코드 구현
    • Blue : 프로덕션 코드와 테스트 코드 리팩토링
  • 장점

    • test coverage 증가(수행한 테스트가 얼마나 커버했는지)
    • 오버 엔지니어링 방지 : 필요한 부분만 구현, 미래의 필요할 것 같은 구현을 지례짐작하여 불필요한 코드 작성을 방지
    • 설계에 대한 피드백이 빠름

  • 단위테스트

    • 작은 단위의 테스트
    • 일반적으로 메서드 레벨
    • 검증이 필요한 코드에 대해 테스트케이스를 작성하는 절차
  • 목적

    • 문제점 발견 : 각 단위가 정확히 동작하는지 검사 → 문제 발성시 어디가 문제인지 확인 가능 → 프로그램 안정성 상승
    • 변경이 쉬움 : 수정된 코드가 잘 동작하는지 쉽게 알 수 있어 변경을 자주할 수 있음
    • 품질 향상 : 하나의 단위 테스트 복잡해질경우 프로덕션 코드에서 잘못되었다 생각할 수 있다. 이는 리팩토링 필요하다는것을 알 수 있음
    • 코드의 문서화 : 예외상황, 용도, 의도사항을 한눈에 파악 가능. 단위테스트는 배포되는 코드와 일치하므로 항상 최신상태로 유지된다는 이점
  • F.I.R.S.T 법칙

    • F : Fast(빠르게)
    • I : Independent(독립적으로)
    • R : Repeatable(반복 가능하게)
    • S : Self-Validating(자가 검증하는)
      • 테스트는 boolean값 결과(성공 or 실패)
    • T : Timely(적시에)
      • 단위 테스트는 실제 코드를 구현하기 직전에 구현
      • 실제 코드를 구현한 다음 테스트 코드를 만들면 실제 코드가 테스트 하기 어렵다는 사실을 뒤늦게 발견할 수도 있음
        • 이러면 코드르 다시 짜야하는 불편함
profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글

관련 채용 정보