최근 추세는 대부분의 서비스 회사가 테스트 코드에 관해 요구한다.
흔히 채용 정보 우대사항을 보면 빌드/테스트/배포 자동화 경험이 있는 사람을 뽑는다.
먼저 TDD와 단위 테스트는 다른 내용인데 TDD는 테스트가 주도하는 개발이고 테스트 코드를 먼저 작성하는 것부터 시작한다.
반면, 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 말한다. TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 것도 아니고, 리팩토링도 포함되지 않는 순수하게 테스트 코드만 작성하는 것을 말한다.
테스트코드는 왜 작성해야 하는가?
- 단위 테스트는 개발단계 초기에 문제를 발견하게 도와준다.
- 단위 테스트는 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다.
- 단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있다.
- 단위 테스트 자체를 문서로 사용할 수 있다.
장점
1. 빠른 피드백(프로그램(Tomcat)을 내렸다가 다시 실행하는 일을 반복할 필요 X)
2. 눈으로 검증하지 않게 자동검증이 가능
3. 개발자가 만든 기능을 안전하게 보호
테스트 코드 작성을 도와주는 대표적인 xUnit 프레임워크들
o Junit - Java
o DBUnit - DB
o CppUnit - C++
o NUnit - .net