이규원님의 프로필 사진

이규원

CTO

느닷없이 페북에서 이상한 CI 훈계를 받아서 끄적여본다. CI와 테스트 자동화를 잘 이해하면 TDD 없이 CI를 하는 것이 아주 어렵다는 걸 알 수 있다. Integration은 여러 코더의 작업 결과물을 모아 시스템 형상이 문제 없는 상태가 되게 하는 것이다. 이때 문제 없음을 검증할 수단이 충분한 자동화된 테스트인데 이 충분함을 충족시키기 가장 효과 좋은 수단이 TDD이고 TDD를 하지 않으면 구조적으로 심리적으로 테스트 케이스를 충분히 확보하기 어렵다. 요즘은 린트만 실행해도 CI라고 할 수 있다는 주장도 있는데 개소리다. 소스코드 취향 맞추고 일반적인 지침 위배 검사하는 것과 시스템 요구사항 검증은 다른 문제다. 잘 모르거나 잘 못하면 깨끗하게 인정하면 그만이지 비난할 거리는 아니다. 구질구질하게 구는 것이 보기에 추하지. Continuous Merging 이라고 하던가. 난 9년전 부터 CI 파이프라인을 만들고 운영했다. TDD는 그 전부터 했고. 하지만 아직도 CI를 이해하지 못하거나 젠킨스나 GitHub Actions만 어찌저찌 사용하는 사람들이 만든 시스템도 많은 경우 붕괴되지 않고 그럭저럭 잘 돌아간다. CI를 이해하고 할 수 있으면 하자. 그렇지 않으면 그저 목적을 달성할 다른 수단을 찾으면 된다. 그리고 감추기 어려운 훈계본능이 있으면 공부를 좀 열심히 하면 더 좋겠다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 3월 11일 오전 5:44

 • 

저장 17조회 5,688

댓글 0