
테스트 실패는 유지 보수성에 문제가 생길 수 있음을 알려 주는 첫 번째 신호입니다. 물론 실제로 프로덕션 코드에서 버그를 발견할 수도 있습니다.
하지만 그렇지 않을 경우,
테스트의 유지 보수성을 측정하려면 일정 기간 동안 발생하는 거짓 실패 횟수와 그 원인을 분석하는 것부터 시작할 수 있습니다. 이제 거짓 실패의 이유를 살펴보겠습니다.
프로덕션 코드에 새로운 기능을 넣으면 기존 테스트와 충돌할 수 있습니다. 코드가 변경되어 기대 결과 역시 달라졌을 수 있으니, 새로운 기능에 맞추어 작성된 테스트는 통과할 수 있지만 기존 테스트는 더 이상 유효하지 않을 수 있습니다.
새로운 기능이 추가되어 실패한 테스트는 더 이상 유효하지 않거나 새로운 요구 사항이 잘못되었을 수 있습니다. 요구 사항이 맞는다고 가정하면 유효하지 않은 테스트는 삭제해도 됩니다.
테스트 대상 코드가 변경되어 메서드나 객체를 사용하는 방식이 달라지면, 비록 기능은 동일하더라도 테스트가 실패할 수 있습니다. (이러한 거짓 실패는 피하는 것이 좋다!)