상세 정보

초록불인데 날짜를 며칠 옮기니 깨졌다. 코드에 심어진 시한폭탄을 찾는 법.

만료·주기·유효기간을 다루는 기능을 만들고 테스트를 붙였습니다. 전부 통과했습니다.

그런데 날짜를 며칠 뒤로 옮겨서 같은 테스트를 돌려 보니 깨졌습니다.

즉 그 테스트는 오늘에만 통과하고 있었습니다.

오늘은 초록불이고, 며칠 뒤에 아무 예고 없이 실패합니다.

더 나쁜 경우는 테스트가 아니라 기능 자체가 그날 잘못 동작하는 것입니다.

이 글은 그 시한폭탄을 찾는 방법에 대한 기록입니다.

방법은 단순합니다 — 오늘 날짜를 옮겨 가며 전체를 돌린다.

단순하지만, 이걸 하지 않으면 며칠 뒤에 조용히 무너지는 것을 알 방법이 없습니다.

이런 분께 도움이 됩니다.

· 만료·주기·유효기간·N일째 같은 것을 다루는 코드를 쓰는 분

· "왜 갑자기 안 되지?"를 몇 달에 한 번씩 겪는 분

· 자동화를 걸어 두고 몇 주 뒤에 확인하는 분

· AI에게 코드를 맡기는데 그게 몇 달 뒤에도 도는지 확인하고 싶은 분

이 글에 담긴 것

· 시한폭탄은 어떻게 생기나

· 제가 실제로 겪은 것들

· 방법 — 날짜를 옮겨 가며 전부 돌린다

· 언제 돌리나

· 함께 걸리는 것들

· 어떻게 시작하나

· 정리

테스트가 오늘에만 통과하고 있었다

가격

12,000

래피드는 통신판매 중개자이며, 통신판매의 당사자가 아닙니다.

상호명 : 주식회사 팀매버릭스 | 사업자등록번호 : 445-86-03219 | 대표 : 서창우 통신판매업: 2025-서울강남-05077 주소 : 서울특별시 중구 퇴계로36길 2, 9층 904호(필동2가, 동국대학교 충무로영상센터)

Copyright ⓒ MAVRKS 2023 All Rights Reserved.