조엘 온 소프트웨어(Joel on Software)는 소프트웨어 공학에 관련된 일을 하는 사람들이라면 모두 한 번쯤 들어봤음직한 도서명일 것입니다.
또한 이 책의 저자인 Joel Spolsky의 블로그 제목이기도 하죠. (사실 블로그의 내용을 발췌해 책을 만든 것이 정확한 히스토리지만요)
이 책에 대한 간단한 느낌을 작성한 적이 있는데 이 글은 추후에 업데이트하도록 하겠습니다.
주제로 돌아와서 이 블로그의 "Painless Bug Tracking"라는 포스트 내용 중 "버그 트래킹을 위한 10가지 팁"이라는 내용이 있어 언급해 보려 합니다.
버그 트래킹을 위한 10가지 팁 (Top Ten Tips for Bug Tracking) 펼치기
1. 버그의 재현 과정을 최소한의 스텝으로 줄여라.
탐색적 테스팅과 같은 비교적 복잡한 스텝을 이용해 수행하는 테스트 도중 버그를 발견한 경우, 그 버그가 재현된 원인을 파악해 최소한의 스텝으로 재현과정을 표현해야 합니다. 이를 통해 1. 테스트 엔지니어는 스텝을 줄이는 과정에서 버그의 원인을 명확히 알 수 있고, 후에 이를 이용한 경우에 대해 고려할 수 있는 기회를 얻게 되고, 2. 개발 엔지니어는 버그를 손쉽게 재현/수정할 수 있게 됩니다.
2. 버그를 등록(Open)한 사람만이 그 버그를 종료(Close)할 수 있다.
버그를 오픈하면 그 버그를 오픈한 사람은 해당 버그에 대한 책임을 가지게 됩니다. 버그의 생명주기를 거치는 동안 여러 사람들이 그 버그를 수정하고 추가할 수는 있지만 일단 오픈된 버그는 직접 등록한 사람보다 더 확실하게 확인할 수 없습니다. 또한 그 버그에 대한 책임과 의무(뭔가 거창하군요.. =ㅅ=)는 오픈한 사람에게 있으므로 버그를 오픈한 사람만이 그 버그를 클로즈할 수 있어야 합니다.
5. 버젼/빌드 관리가 철저하게 이루어져야 한다.
테스트 엔지니어는 버그를 리포팅하는 과정에서 재현된 버젼/빌드를 명확히 표시해 개발 엔지니어로 하여금 해당 버그를 명확하게 수정할 수 있도록 해야 합니다. 또한 개발 엔지니어도 테스트 엔지니에 혹은 팀에 테스트 해야 할 빌드를 넘겨줄 때 명확한 버젼/빌드를 명시해 주어야겠죠. 조엘은 "버그가 수정되지 않은 빌드를 넘겨 받아 다시 테스트하는 불쌍한 테스트 엔지니어가 생길 수 있다"는 웃지 못할 에피소드를 제시하네요.
또한 포스트에는 언급되지 않은 이야기지만 테스트와 빌드는 절대 같은 시간에 이루어질 수 없습니다. 테스트 엔지니어가 테스트를 완료한 부분에 대한 부분적 수정/빌드가 이루어졌을 경우 테스트 엔지니어는 해당 영역과 사이드이펙트가 발생할 수 있는 영역을 다시 테스트 하거나(이러면 무한루프가 성립되겠죠.. =ㅅ=), 혹은 테스트 엔지니어는 사이드이펙트라는 엉뚱한 버그가 포함된 빌드를 테스트 완료했다고 컨펌하는 경우가 발생할 수 있으니까요. 항상 빌드는 테스트가 완료되고 이루어져야 하고 그 반대의 경우로 빌드 도중 테스트를 진행하는 일도 발생해선 안되요.
6. 7. 8. 9. 버그 추적 데이터베이스(혹은 버그 추적 시스템, Bug Tracking System)을 사용하라.
버그 추적 데이터베이스(시스템)은 버그 라이프사이클(발견/보고/수정 등의 과정)을 효과적으로 관리하고 추적할 수 있습니다. 또한 누적된 데이터를 확보할 수 있겠죠. (이 활용에 대해서는 다음에 언급할께요)
뭐 제가 언급하고 싶은 내용은 이렇게 네 가지 정도네요. 두서도 없고 주제도 없고 일관성도 없고... 포스트를 작성한 저도 어지러울 정도로 막 쓴 글이지만, 소프트웨어 개발 프로세스에서 기본적으로 지켜져야 할 사항들인 것 같아 한 번 끄적여 봤어요.
충고/조언/의견 등은 언제나 환영합니다. 벌써 시간이 23시 34분이네요. 혹 바로 읽으시는(읽은시는) 분들은 편안한 밤 되세요.
'IT, WEB' 카테고리의 다른 글
| 인터넷에서 음악을 즐기는 법! (0) | 2009/09/28 |
|---|---|
| [QA] 버그 트래킹을 위한 10가지 팁 - 조엘 온 소프트웨어 (0) | 2009/09/20 |
| Talk Like A Pirate Day - 매년 9월 19일 (0) | 2009/09/20 |
| Aviary.com의 Audio Editor Myna 런칭 (0) | 2009/09/19 |

Prev

Rss Feed