테스트

단위 테스트 (Unit Test)

소밍소밍 2022. 3. 14. 00:25

개발자가 만드는 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