테스트 코드 필요성

  • 대부분의 서비스 회사가 테스트 코드에 관해 요구
  • 프로젝트형 코딩 테스트에 단위 테스트 필수조건 요구
  • 테스트 자동화 경험 우대

테스트 코드란?

** TDD vs 단위 테스트(Unit Test) **

TDD

  • 테스트가 주도하는 개발
  • 테스트 코드를 먼저 작성
  • 레드 그린 사이클
  1. 항상 실패하는 테스트를 먼저 작성: Red
  2. 테스트가 통과하는 프로덕션 코드를 작성: Green
  3. 테스트가 통과하면 프로덕션 코드를 리팩토링: Refactor

단위 테스트

  • TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 의미
  • TDD와 달리 테스트 코드를 꼭 먼저 작성할 필요 X, 리팩토링 포함 X
  • 순수하게 테스트 코드만 작성하는 것을 의미

테스트 코드를 왜 작성해야 하는가?

  • 단위 테스트는 개발단계 초기에 문제를 발견하게 도와준다.
  • 단위 테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다
  • 단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있다.
  • 단위 테스트는 시스템에 대한 실제 문서를 제공한다. 즉, 단위 테스트 자체가 문서로 사용될 수 있다.

테스트 코드를 작성하면 좋은 점

  1. 톰캣을 내렸다가 다시 실행하는 일을 반복하지 않아도 된다.
  2. 눈으로 검증(수동검증)하지 않고 테스트 코드로 자동검증이 가능하다.
  3. 개발자가 만든 기능을 안전하게 보호해준다.( 규모가 큰 서비스에서 새로운 기능이 추가될 때, 기존 기능이 잘 작동되는 것을 보장해준다.)

테스트 코드 작성을 도와주는 프레임워크: xUnit

  • 가장 대중적인 테스트 프레임워크
  • 개발환경(x)에 따라 Unit 테스트를 도와주는 도구
  • JUnit - Java
  • DBUnit - DB
  • ... 등

+ Recent posts