테스트 커버리지

단순한 디자인으로 인한 커버리지 향상:

테스트 커버리지를 향상시키는 한가지 방법은 더 많은 코드를 작성하는 건데, 테스트 주도 개발자가 작성하는 테스트 코드의 수와 전문 테스터가 작성하는 테스트 코드의 수 사이의 엄청난 차이가 여기에서 온다. (32장에 이에 대한 구체적인 예가 나오는데, 같은 문제에 대해 나는 6개의 테스트를 작성한 반면 전문 테스터는 65개의 테스트를 작성했다).

테스트 커버리지를 향상시키는 또다른 방법은 테스트의 수는 그대로 두면서 프로그램의 로직을 단순화하는 것이다. 리팩토링 단계가 종종 다음과 같은 효과를 가져온다. 조건문이 메시징으로 바뀌거나(see Conditionals to polymorphism) 아예 사라진다. 플립의 말을 빌자면 “모든 입력의 경우를 따져서 테스트 커버리지를 높이는 대신에, 우리는 테스트는 그대로 두고 코드를 줄여서 동일한 테스트가 다양한 경우를 다루게 한다.” —p157, Test-driven development: by example

2024 © ak