개발자가 만드는 White Box Test, 프로그램의 기능 중 작은 단위를 검증하는 것
단위 테스트는 개발자가 구현 시점에, 코드를 직접 보면서 작성하는 것이다. 독립적으로 작동할 수 있는 method나 class와 같이 작은 단위가 주요 테스트 대상이다. 단위 테스트를 함으로써 얻을 수 있는 장점은 다음과 같다.
생산성 향상
단위테스트를 작성할 경우, 개발생산성을 높일 수 있다. 왜냐하면 작은 단위에서 수행하는 테스트를 통해 개발 단계에서 발생하는 버그를 빠르게 찾을 수 있기 때문이다. 단위 테스트는 복잡한 조건도 한번에 수행할 수 있기 때문에 디버깅 시간을 전체적으로 줄여줄 수 있다.
물론 코드를 수정할 때마다 테스트를 수정하는 것이 필요하지만, 단위 테스트로 얻을 수 있는 생산성 향상을 고려해 본다면 훨씬 효율적으로 개발할 수 있다고 볼 수 있다. 또한 좋은 테스트케이스는 메소드, 클래스의 스펙으로도 작용할 수 있으며, 해당 코드에 대한 신뢰도를 높여주는 효과가 있다. 이는 향후 코드를 공유할 때에 다른 개발자들이 믿고 사용할 수 있는 코드를 제공할 수 있다는 점에서 의미가 있다. 개인의 생산성을 넘어 팀 생산성까지 향상시킬 수 있는 것이다.
수정 용이
단위테스트가 있다면 코드를 수정했을 때에 같은 input, output을 넣어봐야 한다면 동일한 테스트를 수행해볼 수 있다. 따라서 변화한 부분에 문제 여부를 빠르게 판단할 수 있다.
구현품질 향상
단위테스트를 수행할 경우 버그 발생 빈도를 낮출 수 있다. 따라서 코드와 프로그램의 품질을 보다 향상시킬 수 있다.
단위 테스트의 FIRST 속성
FIRST (Fast, Isolated, Repeatable, Self-verifying, Timely)는 단위 테스트의 속성을 나타낸 것이다! 빠르고, 독립적이고, 반복 가능하고, 자기검증이 가능하고, 시기적절하게 쓸 수 있다는 의미이다.
'테스트' 카테고리의 다른 글
테스트 대역 (Test Doubles) (0) | 2022.03.14 |
---|---|
이클립스에서 JUnit4 사용하기 (0) | 2022.03.14 |
JUnit4 (0) | 2022.03.14 |
Mock Testing (0) | 2022.03.14 |
소프트웨어 테스트의 종류 - 3단계 분류 (0) | 2022.03.14 |