본문 바로가기

독서찰기(讀書札記)/단위 테스트

회귀 방지와 리팩터링 내성의 관계

둘 다 정반대의 관점에서 테스트 스위트의 정확도에 기여한다.

두 가지 특성은 시간이 흐르면서 프로젝트에 영향을 다르게 미치는 경향이 있다.

테스트 정확도 극대화

  • 테스트가 버그 있음을 얼마나 잘 나타내는가 = 거짓 음성이 잘 제외되는가 = 회귀 방지가 잘 되는가
  • 테스트가 버그 없음을 얼마나 잘 나타내는가 = 거짓 양성이 잘 제외되는가 = 리팩터링 내성이 잘 지켜지는가

테스트 정확도 = 발견된 버그 수 / 허위 경보 발생 수

  • 버그 못 찾음 & 허위 경보 안 울림 → 정확도 0에 수렴 (거짓 음성은 프로젝트 초반에 위험)
  • 버그 다 찾음 & 허위 경보 다 울림 → 정확도 0에 수렴 (거짓 양성은 프로젝트 시간이 흐를수록 위험)

개발자 대부분은 회귀 방지에만 신경을 쓰는데, 프로젝트가 크고 오래 걸릴수록 리팩터링 내성에도 신경을 써야한다.