Joel on Software

Joel on Software   조엘 온 소프트웨어

 

한글로된 다른 "Joel on Software" 글들

영어로된 다른 "Joel on Software" 글들

필자 메일주소(영어만 사용)

 

손쉬운 버그 추적법


글 : Joel Spolsky
번역 : AhnLab
2000년 11월 8일 수요일

과거, TRS-80 Level-I BASIC 오로지 A$ B$라는 개의 문자열 변수만을 저장할 있었다. 마찬가지로, 필자가 타고난 두뇌 속의 버그 저장용 슬롯도 개밖에 되지 않는다. , 필자가 한번에 기억할 있는 버그의 수는 개를 넘지 못한다. 만일 한꺼번에 개의 버그를 기억해야 한다면, 필경 중의 하나는 놓쳐버렸을 테고 바닥에 떨어뜨린 버그는 침대 밑으로 쓸려 들어가 결국 먼지덩어리 속에 파묻히고 것이다.

버그 정보를 꾸준히 데이터베이스화 하는 것은 훌륭한 소프트웨어 팀이 갖춰야 덕목임에도 불구하고, 실제로 이를 제대로 실천하고 있는 소프트웨어 팀은 극소수라는 사실에 놀라지 않을 없다. 프로그래머들이 좀처럼 버리지 못하는 잘못된 믿음 중의 하나가 바로 모든 버그 정보를 기억할 있다거나 혹은 메모지에 적어두는 것만으로 충분하다는 것이다.

여러분이 잠시만 귀를 기울여준다면, 필자가 앞서 손쉬운 스케줄 관리법 손쉬운 스펙 작성법 이어 아주 손쉬운 버그 추적 방법에 대해서도 설명을 해볼까 한다.

무엇보다, 버그 추적을 위해서는 진짜 데이터베이스가 필요하다. 사람의 프로그래머가 주말 동안 작은 코드를 하나 만들어내는 경우라면 그냥 텍스트 파일을 버그 추적용 데이터베이스로 사용해도 무방하다. 하지만, 이보다 작업 규모가 커지는 경우에는 실제 버그 추적용 데이터베이스가 필요하다. 시중에 나와있는 버그 추적 데이터베이스 제품은 매우 다양하다. (막간을 이용한 자사 홍보: 필자의 회사인 Fog Creek Software에서 내놓은 FogBUGZ 사용이 매우 간편하면서도 기능은 강력한 기반의 버그 추적 데이터베이스 제품이다. 자화자찬 같기는 하지만.)

버그 추적 과정의 예를 살펴보기 위해, 탄생의 순간부터 누군가에 의해 소멸될 때까지, 버그의 일생을 따라가 보자. 여기서는 유명한 버그 1203 일생을 추적하기로 한다. 다음은 버그에 대한 데이터베이스의 내용이다.

ID

1203

프로젝트

Bee Flogger 2.0 

영역

FTP 클라이언트

제목

파일업로드FTP 서버다운

담당자

문제 종결

처리현황

문제 종결 (해결됨 수정 완료)

우선순위등급

2 – 반드시 수정 요망

수정대상

2.0 Alpha

버전

빌드 2019

컴퓨터

질의 iMac 컴퓨터, Mac OS 9.0, 128M RAM, 1024x768M 컬러

버그추적내용

2000/11/1 버그1203 등록(등록자: 테스트담당자Jill)

* Bee Flogger 시동한다.
*
문자 "a" 입력하여 파일을 만든다.
*
툴바에서 FTP 버튼을 클릭한다.
*
서버에 대한 ftp 시도한다.

버그: 관측 내용 - ftp 서버가 이상 응답이 없다. Ps –augx 실행되고 있지 않다고 표시되며 코어 덤프(core dump in /) 발생된다.

적정 상태: 다운이 발생하지 않아야 .

2000/11/1 테스트담당자Jill수석개발자Willie에게할당

2000/11/2 (어제해결됨 수석개발자Willie수정불가 판정

리눅스 시스템과 관련된 proftpd 문제로 판단되므로 개발팀의 코딩과는 무관함.

2000/11/2 (어제버그재등록(등록자: 테스트담당자Jill), 수석개발자Willie에게할당

proftpd 문제로 보이지는 않음. 일반 ftp 클라이언트와 접속할 때는 proftpd 다운된 적이 없었음. 개발팀의 코드가 매번 다운되고 있음. Ftp 서버의 다운 문제가 아님.

2000/11/3 (오늘수석개발자Willie프로그래머Mikey에게할당

Mikey 클라이언트 코드에 문제가 있는 듯함.

2000/11/3 (오늘해결됨 프로그래머Mikey수정완료

패스워드 대신 사용자명을 코딩 했던 것으로 보임.

2000/11/3 (오늘버그재등록(등록자: 테스트담당자Jill), 프로그래머Mikey에게할당

빌드2021 여전히 다운됨.

2000/11/3 (오늘편집 프로그래머Mikey 

디버깅 재시도.

2000/11/3 (