개념
세 도구는 "태생"이 다르다
Bugzilla, MantisBT, Redmine은 모두 무료로 내려받아 직접 서버에 설치해 쓰는 오픈소스 도구다. 셋 다 결함을 등록하고 추적한다는 점에서는 같아 보이지만, 각자 태어난 배경이 다르고 그 배경이 지금의 성격을 그대로 결정한다. 이 레슨의 핵심은 기능 목록을 외우는 것이 아니라 "어떤 팀이 어떤 이유로 이걸 고르는가"를 이해하는 것이다.
Bugzilla — 대규모 오픈소스 프로젝트의 결함 추적기
Bugzilla는 모질라(Firefox를 만드는 그곳)가 자기 프로젝트의 결함을 관리하려고 만들어 20년 넘게 실제로 써온 도구다. 태생이 "전 세계에서 쏟아지는 수십만 건의 버그 리포트를 감당해야 하는 프로젝트"였기 때문에, 결함 필드가 매우 세분화되어 있다 — 심각도·우선순위는 기본이고 플랫폼(x86/ARM), 운영체제, 버전, 대상 마일스톤까지 따로 필드로 나뉜다.
이 세분화가 Bugzilla의 강점이자 부담이다. "윈도우에서만 재현되는 버그"를 조건으로 걸러내는 일이 자연스럽게 되지만, 필드가 많다는 건 결함 하나 등록할 때 채울 칸도 많다 는 뜻이다. Mozilla, Linux 커널, Apache 같은 프로젝트가 방대한 결함량을 실제로 버텨낸 이력이 있다는 신뢰성이 이 도구를 여전히 살아 있게 만든다.
MantisBT — 가볍게 시작하는 결함 추적
MantisBT(Mantis Bug Tracker)는 Bugzilla와 같은 일을 하되 훨씬 가볍다. PHP + MySQL만 있으면 설치가 끝나고, 관리 화면도 단순해서 처음 도구를 도입하는 팀이 하루 안에 운영을 시작할 수 있다.
필드가 적다는 건 표현력이 떨어진다는 뜻이기도 하지만, 소규모 팀에서는 오히려 장점이 된다. 5명짜리 팀에 "대상 마일스톤"과 "플랫폼" 필드를 강제하면 대부분 빈칸으로 남거나 아무렇게나 채워져서, 있으나 마나 한 데이터가 쌓인다. 팀 규모에 비해 과한 도구는 데이터 품질을 떨어뜨린다.
Redmine — 원래는 프로젝트 관리 도구다
Redmine을 앞의 두 도구와 나란히 놓는 것은 사실 조금 어색하다. Redmine은 결함 추적기로 태어난 게 아니라 프로젝트 관리 도구 로 태어났고, 이슈 추적은 그 안의 여러 기능 중 하나이기 때문이다. 간트차트, 일정, 위키, 문서 저장소, 시간 기록(공수 입력)이 한 곳에 들어 있다.
그래서 Redmine을 고르는 팀의 동기는 다르다. "결함을 추적하고 싶다"가 아니라 "일정·문서·결함을 한 시스템에서 보고 싶다" 가 이유인 경우가 많다. 별도의 위키와 별도의 버그 트래커를 오가는 대신 하나로 합치려는 선택이다. 반대로 결함 추적만 필요한 팀에게는 안 쓰는 기능이 화면을 차지하는 부담이 된다.
언제 무엇을 고르는가
| 도구 | 태생 | 강점 | 적합한 팀 |
|---|---|---|---|
| Bugzilla | 모질라의 결함 추적기 | 세분화된 결함 필드, 대량 결함 처리 이력 | 결함량이 많고 환경(OS·버전)별 구분이 중요한 팀 |
| MantisBT | 경량 버그 트래커 | 설치·설정이 단순, 학습 비용 낮음 | 처음 도구를 도입하는 소규모 팀 |
| Redmine | 프로젝트 관리 도구 | 이슈 | 간트차트 | 위키를 한 곳에서 | 일정·문서까지 통합 관리하려는 팀 |
도구가 바뀌어도 원칙은 그대로다
모듈 6 레슨 1에서 배운 결함 생명주기(New → Assigned → Fixed → Retest → Closed)와 심각도·우선순위의 구분, 그리고 좋은 결함 리포트의 조건은 세 도구 어디에서나 똑같이 적용된다. 화면 배치와 필드 이름은 다르지만 심각도·우선순위·재현 단계라는 필드가 없는 결함 추적 도구는 존재하지 않는다. 모듈 6 레슨 4에서 정리한 공통 개념(이슈 타입·워크플로·필드· 필터)을 기준으로 새 도구의 화면을 대조하면, 처음 보는 도구도 30분이면 파악된다.
실무에서 왜 필요한가
스타트업이나 SI 프로젝트, 사내 시스템을 다루는 팀에서는 Jira 라이선스 비용 때문에 오픈소스 도구를 쓰는 경우가 흔하다. 특히 외부망 접속이 막힌 금융·공공 프로젝트에서는 클라우드 SaaS 자체를 쓸 수 없어서 사내 서버에 설치하는 Redmine이나 MantisBT가 사실상 유일한 선택지가 되기도 한다.
QA로 입사한 첫날 받아든 도구가 Jira가 아니라 Redmine일 가능성은 생각보다 높다. 이때 "Jira만 써봤는데요"가 아니라 "이슈 타입이 어디 있는지 찾아보겠습니다"라고 말할 수 있는 것이 이 레슨의 목표다. 또한 도구 도입을 검토하는 자리에서 "우리 팀 규모에는 이게 과하다" 는 판단을 근거를 갖고 말할 수 있으면 신뢰를 얻는다.