고용주의 투자와 코드베이스
기업은 개발자가 코드베이스에 가하는 모든 변경 사항에 비용을 지불합니다. 이는 최종 사용자에게 배포될 코드 그 자체에 대한 투자입니다. 고용주의 궁극적인 목표는 안정적으로 작동하는 코드베이스를 확보하는 것이며, 코드베이스야말로 기업의 핵심 자산입니다.
코드의 ‘보증’과 자동화된 테스트
고용주는 마치 자동차 수리 후 해당 부위가 다시 고장 나지 않을 것을 기대하듯이, 개발자가 커밋한 코드가 정상적으로 작동할 것을 기대합니다. 즉, 한 번 수정된 코드는 다시 고장 나지 않는다는 일종의 ‘보증’을 원하는 것이며, 자동화된 테스트가 이를 제공합니다.
-
투자 손실 방지: 작성된 코드가 작동하지 않으면 곧 투자 손실입니다. 고용주는 지불한 비용에 대한 결과물이 제대로 기능하기를 바랍니다.
-
코드베이스 ‘운전’의 위험 관리: 코드베이스를 수정하고 확장하는 행위는 고장 위험을 수반합니다. 테스트 커버리지가 낮은 부분은 가장 먼저 취약해집니다.
-
테스트 커버리지의 역할: 테스트 커버리지는 이전에 작동했고 이미 비용이 지불된 기능이 리팩토링과 같은 변경 압력 하에서도 계속해서 올바르게 작동함을 보장합니다. 이는 고용주의 투자금을 보호하는 핵심 장치입니다.
결론적으로, 테스트가 뒷받침되지 않는 코드 기여는 고용주의 소중한 자원을 낭비하는 행위로 간주될 수 있습니다.