[TDD]단위테스트

2022. 4. 16. 21:22Web/JAVA

TDD, 단위테스트를 들어는 봤지만 그게 뭔지, 왜 하는건지는 잘 몰라서 조사해봤다.

 

단위테스트란

- 작은 단위의 테스트. 크기가 정해진건 아니지만 보통은 메소드 정도의 작은 단위.

- 각 부분이 올바르게 돌아가는 지 확인해본다.

- ex) 속도를 구하는 메소드가 사실은 연산이 이상하게 구성되어 있다면 단위 테스트를 통해 빠르게 알아낼 수 있다.
       만약 통합테스트로 한다면 관련된 여러 메소드 중 정확히 어디가 문제인지 알아내기 위해 시간이 소요될 것이다.

 

 

좋은 단위 테스트의 특징

- 1개의 테스트 함수에 대해  assert를 최소화하라

- 1개의 테스트 함수는 한가지 개념만을 테스트하라.

 

FIRST 규칙

Fast 빠르게 동작해야한다. -> 자주 돌릴 수 있다.
Independent 각 테스트는 독립적임. 서로 의존하지 말 것
Repeatable 어떤 환경에서도 반복 가능해야
Self-Validating 테스트 결과는 성공/실패의 bool결과를 내어 자체 검증 가능해야
Timely 테스트는 적시에(실제 코드 구현 전) 구현되어야 한다.

참고

https://mangkyu.tistory.com/143