반응형

출처: Software Testing by Ron Patton, 2001, 13페이지

 

2000년이 가까워질 무렵  큰 테스팅 이슈가 되었던 Y2K 버그(밀레니엄 버그)의 시초에 대해 설명한다.

 

 


 

Y2K(2000) 버그, 1974년경

1970년대 초 어느 날, 한 컴퓨터 프로그래머(그의 이름이 Dave라고 가정하자)가 회사의 급여 시스템을 만들고 있었다. 그가 사용하고 있던 컴퓨터는 저장 메모리가 아주 작았기 때문에 할 수 있는 한 최대로 바이트를 아껴야 했다. Dave는 자신의 프로그램을 다른 어떤 동료보다 더 촘촘하게 짤 수 있다는 사실을 자랑스럽게 생각했다. 그가 사용한 한 가지 방법은 날짜를 1973과 같은 4자리 형식에서 73과 같은 2자리 형식으로 줄이는 것이었다. 그가 작성하는 급여 프로그램이 날짜 프로세싱에 크게 의존했기 때문에 Dave는 값비싼 메모리 공간을 많이 절약할 수 있었다. 그는 향후 연도가 2000년이 되고 자신의 프로그램이 00년과 01년과 같은 연도에 계산을 시작했을 때 발생할 수 있는 문제에 대해 잠깐 고민했다. 그는 문제가 있을 것이라는 것을 알았지만 자신의 프로그램이 25년 후에는 분명히 교체되거나 업데이트될 것이라고 판단했고, 한참 시간이 지난 후의 일을 계획하는 것보다 눈앞의 즉각적인 작업이 더 중요했다. 그에게는 준수해야 하는 마감일(데드라인)이 있었다.

 

그러나 1995년에 Dave의 프로그램은 여전히 사용되고 있었고, Dave는 은퇴했으며, 프로그램을 수정하는 방법은 물론이고 Y2K와 호환되는지 확인하기 위해 프로그램에 들어가는 방법을 아는 사람이 아무도 없었다. 2000년에 마주할 잠재적인 오류를 수정하기 위해 Dave의 프로그램과 같은 컴퓨터 프로그램을 교체하거나 업데이트하는 데 전 세계적으로 수천억 달러가 지출된 것으로 추정된다.

 

반응형

+ Recent posts