본문 바로가기

Test

(2)
테스트 커버리지는 높을수록 좋을까? 이번 포스팅은 Effective Unit Testing를 정리한 글입니다. 서론 옛날에 만들었던 프로그램들을 TDD로 다시 만들면서 테스트 커버리지 수치에 신경 썼습니다. 어느덧 95%는 넘었고 더 높이기 위해서는 검증이 필요하지 않은 로직을 테스트 해야 했고, 문득 이런 생각이 들었습니다. 100%가 된다고 과연 완벽할까? 테스트 작성도 결국 비용이 아닌가? 이런 고민을 하던 찰나 마침 Effective Unit Testing 에서 정답을 찾았습니다. 100% 코드 커버리지 달성이 중요한 게 아니다. 테스트의 가치는 테스트가 확인하지 못한 코드가 어떤 것인가와 테스트가 프로그래밍 실수를 얼마나 정확하게 잡아내는가에 좌우된다. 100%를 달성했다고 해서 결합이 없다고 보장해주는 건 아니다. 애플리케이션 .. Test 2019. 12. 28. 19:42
TDD의 장점은 무엇일까? 한참 TDD를 공부할 때 A가 물었다. A: TDD가 뭐에요? 왜 써야 하죠? 나: TDD는 테스트 코드를 먼저 작성하고 프로덕션 코드를 작성하는…. (중략) 설계 기법이고요. ~~한 장점이 있습니다. A: 어? 그거 테스트 코드 작성했을 때의 장점 아니에요? 먼저 프로덕션 코드 작성하고 테스트 코드 작성하면 되지 않아요? 저는 테스트 코드 작성은 필수지만, TDD는 안 해도 된다고 생각해요. '어 그러네..? 분명 TDD만의 장점이 있는데….' 나는 할 말을 잃었다. 왜 쓰는 걸까? 그 당시 나는 TDD의 장점을 이렇게 말했다. 피드백이 빠르다. 변화에 대한 두려움을 줄여준다. (리팩토링이 편하다) TDD를 하면 코드 복잡도가 떨어진다. 디버깅 시간을 줄여준다. 동작하는 문서 역할을 한다.. Test 2019. 12. 28. 19:28