테스트 커버리지

김소희·2023년 8월 22일
2

테스트 커버리지는 소프트웨어의 테스트 케이스가 얼마나 충족되었는지를 나타내는 지표 중 하나이다. 테스트를 진행하였을 때 ‘코드 자체가 얼마나 실행되었느냐’는 것이고, 이는 수치를 통해 확인할 수 있다.

토스뱅크에서 일하는 백엔드 개발자의 발표자료를 보면서 하루를 시작했다.
링크 : https://toss.im/slash-21/sessions/1-6

영상에서는 클린코드 책에서 테스트커버리지 100%를 유지하라는 내용을 읽고
토스의 홈 화면 프로젝트에 적용해보니 실제로 가능했다는 내용을 이야기 한다.

프로덕션코드 4천라인에 테스트 코드 6천라인을 작성했고,
테스트 커버리지가 100퍼가 아니면 빌드가 되지 않게 해서 1년 6개월이 지나도 유지가 가능했다.

이로인해 테스트되지 않은 코드가 한 줄도 없다는 확신이 있기에
배포 버튼을 자신있게 누를 수 있게 변했고, 테스트 코드가 있으니 리팩토링이 쉬워졌고,
프로덕션 코드의 이해도가 늘었고, 테스트 코드도 점차 더 잘 작성하게 되었다고 한다.

테스트의 개수가 400개가 넘어서자 전체 테스트 실행이 1분이상 걸리기 시작해서
스프링 애플리케이션 컨텍스트 로딩을 제거해서 해결했었고,
테스트가 1600개가 넘어서자 또 다시 1분을 넘어가서
어씽크 프로파일러로 성능프로파일링을 해서 원인들을 발견하고 대응해서 6초로 만들었다.

영상을 보고나니 나도 테스트 코드를 잘 작성할 수 있는 실력을 갖춘 멋있는 개발자가 되고 싶다.
테스트 코드를 짜는 일은 익숙하지 않아서 어렵고, 시간도 많이 드는 일이기 때문에 테스트 코드가 없는 경우가 더 많다. 나 역시도 아직까지는 테스트 코드를 작성할 줄 모르기 때문에 POSTMAN으로 테스트 하며 개발할 수 밖에 없었다. 하지만 시간이 더 걸리더라도 하지만 코드의 품질을 높이기 위해서는 반드시 테스트 라는 산을 넘어야만 한다고 생각한다. 테스트의 중요성과 필요성을 다시한번 깨닫게 해주는 좋은 영상을 볼 수 있어서 감사한 마음이 든다.

나는 반드시 테스트 코드를 잘 작성할 줄 아는 개발자가 될 것 이다.

profile
백엔드 자바 개발자 소희의 노트

0개의 댓글