맨위로가기

버그 추적 시스템

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

버그 추적 시스템은 소프트웨어 개발 과정에서 발생하는 버그의 효율적인 관리와 재발 방지를 위해 사용되는 소프트웨어이다. 버그의 발견, 수정, 이력 등을 데이터베이스로 관리하며, 버그의 집중 관리, 검색, 이력 관리, 알림 기능 등을 제공한다. 이러한 시스템은 개발 요청 및 상태에 대한 명확한 개요를 제공하여 프로젝트 관리 및 생산성 향상에 기여하지만, 버그의 심각도와 수정의 복잡성 간의 차이로 인해 부정확한 결과를 초래할 수도 있다. 버그 추적 시스템은 분산 버전 관리 시스템과 통합되거나, 프로젝트 관리 시스템의 일부로 구현되기도 하며, Bugzilla, Jira, Team Foundation Server 등 다양한 오픈 소스 및 상용 시스템이 존재한다.

더 읽어볼만한 페이지

  • 헬프 데스크 - 고객 지원
    고객 지원은 기업이 고객의 문의, 불만, 문제 해결 요청 등에 대응하는 활동으로, 자동화와 다양한 방식을 통해 효율성을 높여 고객 만족도 및 충성도를 강화하는 데 기여한다.
  • 헬프 데스크 - 기술 지원
    기술 지원은 기술 문제 해결을 돕는 서비스로, 문제 해결 방식, 지원 채널, 대상, 기술 전문성에 따라 유형이 나뉘며, 기업들은 비용 절감을 위해 아웃소싱 또는 매니지드 서비스를 활용한다.
  • 버그 및 이슈 추적 소프트웨어 - 깃허브
    깃허브는 Git 버전 관리 시스템을 기반으로 소프트웨어 개발 협업 기능과 부가 서비스를 제공하는 웹 기반 플랫폼이지만, 여러 논란과 비판도 존재하는 세계 최대의 소프트웨어 개발 플랫폼이다.
  • 버그 및 이슈 추적 소프트웨어 - 이슈 추적 시스템
    이슈 추적 시스템은 고객 지원, 콜센터, 조직 내 문제 보고 등에서 문제 생성, 업데이트, 해결을 지원하며, 지원 티켓 형태로 고객 정보와 문제 정보를 관리하고 지식 베이스를 포함하여 헬프 데스크, 프로젝트 관리, IT 서비스 관리 등 다양한 분야에서 활용된다.
  • 프로젝트 관리 소프트웨어 - 깃허브
    깃허브는 Git 버전 관리 시스템을 기반으로 소프트웨어 개발 협업 기능과 부가 서비스를 제공하는 웹 기반 플랫폼이지만, 여러 논란과 비판도 존재하는 세계 최대의 소프트웨어 개발 플랫폼이다.
  • 프로젝트 관리 소프트웨어 - 마이크로소프트 프로젝트
    마이크로소프트 프로젝트는 작업 일정, 자원, 예산 관리 등 다양한 기능을 제공하는 프로젝트 관리 소프트웨어로, DOS용으로 처음 출시된 이후 Windows, macOS 등 다양한 운영체제 버전을 통해 업데이트되었으며 Standard와 Professional 두 가지 에디션으로 제공된다.
버그 추적 시스템
개요
종류소프트웨어 도구
목적소프트웨어 개발 과정에서 버그 및 결함을 기록, 관리, 추적
관련 용어결함 추적 시스템, 문제 추적 시스템, 인시던트 관리 시스템
특징
주요 기능버그 보고
할당
우선순위 지정
상태 추적
알림
보고서 생성
사용자 역할보고자 (reporter)
할당 담당자 (assignee)
확인자 (verifier)
정보버그 설명
환경 정보
재현 단계
심각도
우선 순위
활용
사용 분야소프트웨어 개발
고객 지원
프로젝트 관리
사용 목표개발 효율성 향상
제품 품질 향상
고객 만족도 향상
참고
관련 도구Jira
Bugzilla
Mantis
Redmine
Trac
FogBugz

2. 역사적 배경

최근 소프트웨어 개발에서 버그 수정은 중요한 작업으로 여겨지고 있다. 버그를 빠짐없이 수정하고 재발을 방지하기 위해서는 버그의 발견 일시, 발견자, 재현 방법, 수정 담당자, 수정 이력, 수정 방법, 중요도, 테스트 상황 등 많은 정보를 기록하고 관리할 필요가 있다. 개발에 따라 수천 개의 버그가 발생하고, 다수의 테스트 담당자와 수정 담당자가 관여하는 것을 고려하면 기존의 파일 수준의 관리로는 따라갈 수 없게 되었다. 이러한 배경에서 버그를 관리하는 소프트웨어인 버그 추적 시스템이 등장했다.

3. 주요 기능

버그 추적 시스템은 개발 요청(버그와 개선 사항 모두 포함) 및 해당 상태에 대한 명확하고 중앙 집중된 개요를 제공한다. 보류 중인 항목의 우선 순위 목록(백로그)은 제품 로드맵을 정의하거나 "다음 릴리스"를 정의할 때 중요한 정보를 제공한다.

기업 환경에서 버그 추적 시스템은 프로그래머의 버그 수정 생산성에 대한 보고서를 생성하는 데 사용될 수 있다. 그러나 버그마다 심각도와 복잡성이 다르기 때문에 이는 때때로 부정확한 결과를 초래할 수 있다. 버그의 심각도는 버그 수정의 복잡성과 직접적인 관련이 없을 수 있으며, 관리자와 아키텍트 사이에 의견 차이가 있을 수 있다.

애플리케이션 지원 전문가 팀은 ''로컬 버그 추적기(LBT)''라는 컴퓨터 프로그램을 사용하여 소프트웨어 개발자에게 전달된 문제를 추적하기도 한다. LBT를 사용하면 지원 전문가는 "개발자의 언어"가 아닌 "자신의 언어"로 버그를 추적할 수 있다. 또한 LBT를 통해 지원 전문가는 불만을 제기한 사용자에 대한 특정 정보를 추적할 수 있는데, 이 정보는 실제 개발 대기열에서 항상 필요하지 않을 수 있다. 따라서 LBT가 있는 경우 두 개의 추적 시스템이 존재한다.

3. 1. 버그의 집중 관리

버그 추적 시스템은 알려진 버그에 대한 정보를 기록하는 데이터베이스를 중심으로 구성된다.[3] 이 데이터베이스에는 버그가 보고된 시간, 심각도, 오류 프로그램의 동작, 버그 재현 방법, 버그를 보고한 사람과 수정 담당 프로그래머의 신원 등이 포함될 수 있다.[3]

일반적인 버그 추적 시스템은 버그의 수명 주기를 추적하며, 관리자는 상태에 따라 권한을 구성하고 버그를 다른 상태로 이동하거나 삭제할 수 있다. 또한 버그 상태와 특정 상태의 버그를 어느 정도까지 이동할 수 있는지 구성할 수 있다. 일부 시스템은 새 기록이 추가되거나 상태가 변경될 때 관련 당사자에게 이메일을 보내기도 한다.

버그 정보는 버그의 보고부터 완료까지 집중 관리된다. 워크플로우나 버그의 속성 등 자세한 내용은 버그 관리 시스템에 따라 다르다.

3. 2. 버그 검색

기존의 버그를 검색할 수 있다. 키워드 검색이나 쿼리 검색 등이 있다.

3. 3. 버그 이력 관리

버그 추적 시스템은 알려진 버그에 대한 사실을 기록하는 데이터베이스를 갖추고 있다. 이러한 사실에는 버그가 보고된 시간, 심각도, 오류 프로그램의 동작, 버그를 재현하는 방법에 대한 세부 정보, 버그를 보고한 사람의 신원과 버그를 수정하기 위해 작업할 수 있는 모든 프로그래머의 신원 등이 포함될 수 있다.[3]

일반적인 버그 추적 시스템은 버그에 할당된 상태를 통해 추적되는 버그의 수명 주기 개념을 지원한다. 버그 추적 시스템은 관리자가 상태에 따라 권한을 구성하고, 버그를 다른 상태로 이동하거나 삭제할 수 있도록 해야 한다. 또한 관리자는 버그 상태와 특정 상태의 버그를 어느 정도까지 이동할 수 있는지 구성할 수 있어야 한다. 일부 시스템은 새 기록이 추가되거나 상태가 변경될 때 제출자 및 할당된 프로그래머와 같은 관련 당사자에게 이메일을 보낸다.

3. 4. 알림 기능

버그가 갱신되면 수정 내용이 이메일로 통지된다.[3] 일부 시스템은 새 기록이 추가되거나 상태가 변경될 때 제출자와 할당된 프로그래머 등 관련 당사자에게 이메일을 보내기도 한다.[3]

4. 버그 추적 시스템의 워크플로우

테스트 담당자는 버그를 발견하면 버그 관리 시스템에 접속하여 버그 보고를 수행한다. 보고가 완료되면 버그의 상태는 "공개"가 되며, 모든 개발자에게 이메일로 통지된다.[1] 관리 담당자는 버그 정보를 확인하고, 적절한 수정 담당자를 할당한다. 수정 담당자가 할당되면 버그의 상태는 "할당됨"이 되며, 수정 담당자에게 이메일로 통지된다.[1] 수정 담당자는 버그를 수정하고 해결 방법 등을 덧붙여 버그의 상태를 "분석 완료"로 한다. 수정 보고는 테스트 담당자에게 이메일로 통지된다.[1] 테스트 담당자는 재테스트를 실시하고, 수정이 완료되었음을 확인한 후, 버그의 상태를 "수정 완료"로 한다.[1] 관리 담당자는 "수정 완료"된 버그에 대해 내용을 확인하고, 상태를 "완료"로 변경한다.[1]

5. 구성 요소

버그 추적 시스템의 주요 구성 요소는 알려진 버그에 대한 사실을 기록하는 데이터베이스이다. 여기에는 버그가 보고된 시간, 심각도, 오류 프로그램의 동작, 버그를 재현하는 방법, 버그를 보고한 사람과 수정 담당 프로그래머의 신원 등 다양한 정보가 포함될 수 있다.[3]

일반적인 버그 추적 시스템은 버그의 수명 주기 개념을 지원하며, 각 버그는 할당된 상태를 통해 추적된다. 시스템 관리자는 상태에 따라 권한을 구성하고, 버그를 다른 상태로 이동하거나 삭제할 수 있어야 한다. 또한, 버그 상태 및 특정 상태에서 버그를 이동할 수 있는 범위를 구성할 수 있어야 한다. 일부 시스템은 새 기록이 추가되거나 상태가 변경될 때 제출자와 담당 프로그래머에게 이메일을 보내 알림을 제공한다.

6. 사용 이점

버그 추적 시스템의 주요 이점은 개발 요청 (버그와 개선 사항 모두 포함, 경계는 종종 모호함) 및 해당 상태에 대한 명확하고 중앙 집중식 개요를 제공하는 것이다. 보류 중인 항목의 우선 순위가 지정된 목록 (종종 백로그라고 함)은 제품 로드맵을 정의하거나 "다음 릴리스"를 정의할 때 귀중한 정보를 제공한다.

기업 환경에서 버그 추적 시스템은 프로그래머의 버그 수정 생산성에 대한 보고서를 생성하는 데 사용될 수 있다. 그러나 이는 때때로 부정확한 결과를 초래할 수 있는데, 버그마다 심각도와 복잡성이 다를 수 있기 때문이다. 버그의 심각도는 버그 수정의 복잡성과 직접적인 관련이 없을 수 있다. 관리자와 아키텍트 사이에는 의견 차이가 있을 수 있다.[1]

로컬 버그 추적기(LBT)는 일반적으로 컴퓨터 프로그램으로, 애플리케이션 지원 전문가 팀 (종종 헬프 데스크)이 소프트웨어 개발자에게 전달된 문제를 추적하는 데 사용한다. LBT를 사용하면 지원 전문가는 "개발자의 언어"가 아닌 "자신의 언어"로 버그를 추적할 수 있다. 또한 LBT를 통해 지원 전문가 팀은 불만을 제기하기 위해 전화한 사용자에 대한 특정 정보를 추적할 수 있으며, 이 정보는 실제 개발 대기열에서 항상 필요하지 않을 수 있다. 따라서 LBT가 있는 경우 두 개의 추적 시스템이 존재한다.[2]

최근 소프트웨어 개발에서 버그 수정은 중요한 작업으로 여겨지고 있다. 버그를 빠짐없이 수정하고 재발을 방지하기 위해서는 버그의 발견 일시와 발견자, 재현 방법, 수정 담당자, 수정 이력, 수정 방법, 중요도, 테스트 상황 등 많은 정보를 기록하고 관리할 필요가 있다. 개발에 따라 수천 개의 버그가 발생하고, 다수의 테스트 담당자와 수정 담당자가 관여하는 것을 고려하면 기존의 파일 수준의 관리로는 따라갈 수 없게 되었다. 이러한 배경에서 버그를 관리하는 소프트웨어인 버그 추적 시스템이 등장했다.[3]

7. 분산 버그 추적

분산 버전 관리 소프트웨어와 함께 사용하도록 설계된 버그 추적 시스템도 있다. 이러한 분산 버그 추적 시스템을 사용하면 개발자가 오프라인 상태에서도 버그 보고서를 편리하게 읽고, 데이터베이스에 추가하거나, 업데이트할 수 있다.[4] Fossil과 Veracity는 모두 분산 버그 추적 기능을 포함하고 있다.

최근에는 상업용 버그 추적 시스템도 분산 버전 관리와 통합되기 시작했다. 예를 들어, FogBugz는 소스 제어 도구인 Kiln을 통해 이 기능을 제공한다.[5]

위키와 버그 추적 시스템은 일반적으로 서로 다른 유형의 소프트웨어로 간주되지만, ikiwiki도 분산 버그 추적 시스템으로 사용할 수 있다. 이는 문서와 코드도 통합된 분산 방식으로 관리할 수 있다는 장점이 있다. 그러나 쿼리 기능은 Bugzilla와 같은 일부 다른 비분산 버그 추적 시스템만큼 고급스럽거나 사용자 친화적이지 않다.[6] org-mode에 대해서도 유사한 언급을 할 수 있지만, 이는 엄밀히 말해 위키 소프트웨어는 아니다.

8. 통합 프로젝트 관리 시스템의 일부

버그 및 이슈 추적 시스템은 종종 통합된 프로젝트 관리 시스템의 일부로 구현된다.

이러한 접근 방식을 통해 버그 추적 및 수정, 여러 제품 버전의 버그 수정, 제품 지식 베이스 및 릴리스 노트 자동 생성을 일반적인 제품 개발 프로세스에 포함시킬 수 있다.

9. 주요 버그 추적 시스템

주요 버그 추적 시스템은 오픈 소스 시스템, 상용 시스템, SaaS/ASP 기반 시스템으로 분류할 수 있다.
오픈 소스 시스템


  • Bugzilla: 넷스케이프에서 사용하다 공개되었으며, TestLink와 연동 가능하다.
  • Mantis Bug Tracker: PHP, 웹 서버, MySQL 환경에서 작동하며, TestLink와 연동 가능하다.
  • Redmine: Ruby on Rails로 작성되었으며, 위키간트 차트를 제공하고, TestLink와 연동 가능하다.
  • Trac: 버그 관리 외에 위키 및 저장소 브라우저 기능을 갖추고 있으며, TestLink와 연동 가능하다.
  • OpenTask: PHP 환경에서 작동하는 간소한 시스템이다.
  • Scarab: GUI로 설정을 수행할 수 있다.
  • 영무(影舞): 일본에서 개발된 일본어 지원 시스템이다.
  • Papilio: Eclipse 플러그인으로 개발되었다.
  • BugTracker.NET: .NET영어 기반으로 ASP.NET 2.0 + IIS + Microsoft SQL Server 환경에서 작동한다.

상용 시스템

  • Jira: 애틀라시안의 시스템으로, Jira Studio영어 플러그인이 있다.
  • TFS: 마이크로소프트 제품이다.
  • Rational ClearQuest영어: IBM의 문제 관리 시스템이다.
  • HP Quality Center영어: 휴렛 팩커드의 테스트 및 문제 관리 시스템이다.
  • CodeBeamer: Jakarta EE 기반 협동 작업 플랫폼이다.
  • FogBugz: Fog Creek Software의 버그 관리 시스템이다.
  • SAID: 주식회사 커넥티드의 시스템이다.
  • YouTrack영어: 젯브레인스사 제품이며, 10인 이하 사용은 무료이다.

SaaS, ASP 기반 시스템

  • 백로그: 일본에서 개발된 SaaS프로젝트 관리 도구이다.[1]
  • CAT: 일본에서 개발된 SaaS형 버그 관리·버전 관리 시스템이다.[2]
  • Ciklone: 일본에서 개발된 SaaS형 시스템이다.[3]
  • PROMA-C: 일본에서 개발된 구성 관리 SaaS이다.[4]
  • ubicast projects: ASP 형태로 무료 제공된다.[5]
  • Simple Bug Tracker: 구글 앱 엔진에서 동작하는 무료 시스템이다.[6]
  • Qangaroo: 클라우드형 테스트 관리 도구이다.[7]

9. 1. 오픈 소스 시스템


  • Bugzilla – 원래 넷스케이프가 사내에서 사용했으나, 나중에 공개되었다. 테스트 관리 시스템인 TestLink와 연동 가능하다.
  • Mantis Bug Tracker – PHP, 웹 서버(Apache, IIS), MySQL이 있으면, Windows, OS/2, Mac OS, Unix 계열 OS에서 작동한다. 테스트 관리 시스템인 TestLink와 연동 가능하다.
  • Redmine - Ruby on Rails로 작성된 버그 추적 시스템이다. 기본적으로 위키간트 차트가 제공되며, 여러 프로젝트를 관리할 수 있다. 테스트 관리 시스템인 TestLink와 연동 가능하다.
  • Trac – 버그 관리 시스템 외에 커뮤니케이션 지원을 위한 위키 및 저장소 브라우저 기능을 갖추고 있다. 쉽게 환경을 구축할 수 있는 Trac Lightning이 제공된다. 테스트 관리 시스템인 TestLink와 연동 가능하다.
  • OpenTask – PHP 환경에서 작동하는 데이터베이스가 필요 없는 간소한 시스템이다.
  • Scarab - 높은 커스터마이징 능력을 가지며, 표시 속성 및 표시 순서 등의 설정을 GUI로 수행할 수 있다.
  • 영무(影舞) – 일본에서 개발된 버그 관리 시스템으로, 일본어를 완벽하게 지원한다.
  • Papilio – 서버 구축이 필요 없다. 접속한 각 단말이 서로 동기화하여 데이터를 공유한다. Eclipse의 플러그인으로 개발되었다.
  • BugTracker.NET - .NET영어 기반으로 간소한 구현과 화면을 제공한다. ASP.NET 2.0 + IIS + Microsoft SQL Server (Express 버전도 가능)에서 작동한다.

9. 2. 상용 시스템


  • Jira - 애틀라시안의 버그 및 문제 관리 시스템이다. 플러그인으로 애자일 소프트웨어 개발용 도구인 Jira Studio영어가 있다. 오픈 소스 커뮤니티용 라이선스는 무료이다.
  • TFS - 마이크로소프트의 제품이다. Microsoft Visual SourceSafe 및 Microsoft SharePoint Server와 통합되어 있으며, Microsoft Visual Studio에서 사용할 수 있어 .NET Framework 계열의 대규모 프로젝트에서 활용되는 경우가 많다.
  • Rational ClearQuest영어 - IBM이 개발한 문제 관리 시스템이다.
  • HP Quality Center영어 - 휴렛 팩커드의 테스트 및 문제 관리 시스템이다.
  • CodeBeamer - Jakarta EE 구조의 통합 개발 팀 협동 작업 플랫폼이다. CVS, Subversion, 이클립스, NetBeans와 통합 가능하다.
  • FogBugz - Fog Creek Software의 버그 관리 시스템이다.
  • SAID - 주식회사 커넥티드가 개발 및 판매하는 버그 관리 시스템이다. 화면 캡처 등을 쉽게 등록할 수 있는 것이 특징이다.
  • YouTrack영어 - 젯브레인스사(JetBrains) 제품이다. 10인 이하 사용은 무상.

9. 3. SaaS, ASP 기반 시스템


  • 백로그 - 일본에서 개발된 SaaS프로젝트 관리 도구이다. 버그 및 태스크 관리, 위키, Subversion 호스팅, WebDAV 파일 관리 등을 통합적으로 관리할 수 있다.[1]
  • CAT - 일본에서 개발된 SaaS형 버그 관리·버전 관리 시스템이다.[2]
  • Ciklone - 일본에서 개발된 SaaS형 버그 관리·버전 관리 시스템이다. 소프트웨어 엔지니어를 위한 웹 기반 버그 관리 시스템으로, 소규모~중규모 팀 개발에 최적화된 서비스이며, 복수 언어를 지원한다.[3]
  • PROMA-C - 일본에서 개발된 구성 관리 SaaS이다. 버전 관리, 버그 관리에 더해 등록된 소스 코드를 자동 분석하여 품질 상황의 추이를 시각화할 수 있다.[4]
  • ubicast projects - 개발 회사가 자사와 파트너 기업 간의 버그나 태스크 등 진척 관리를 위해 개발한 도구이다. ASP 형태로 무료 제공되며, 1개의 계정으로 복수의 안건을 동시에 관리할 수 있다.[5]
  • Simple Bug Tracker - 구글 앱 엔진에서 동작하는 버그 관리 시스템으로, 무료로 사용할 수 있다.[6]
  • Qangaroo - 웹상에서 엑셀과 유사한 인터페이스를 갖춘 심플하고 직관적인 작업을 가능하게 하는 클라우드형 테스트 관리 도구이다.[7]

10. 버그 추적과 테스트 관리

전통적인 테스트 관리 도구인 HP 품질 센터와 IBM 래셔널 품질 관리자와 같은 도구들은 자체적인 버그 추적 시스템과 함께 제공되며, 다른 도구들은 널리 사용되는 버그 추적 시스템과 통합된다.

참조

[1] 웹사이트 Implement Client-side Bug Reporting https://web.archive.[...] 2014-09-08
[2] 웹사이트 Painless Bug Tracking http://www.joelonsof[...] 2000-11-08
[3] 웹사이트 Bug Advocacy https://kaner.com/pd[...] 2000-07
[4] 웹사이트 Distributed bug tracking https://lwn.net/Arti[...] 2008-05-14
[5] 웹사이트 FogBugz Features https://web.archive.[...]
[6] 웹사이트 Integrated issue tracking with Ikiwiki https://www.networkw[...] International Data Group 2007-04-06
[7] 문서 bug tracking system
[8] 웹인용 Implement Client-side Bug Reporting http://www.sitepoint[...] 2014-09-08
[9] 웹인용 Painless Bug Tracking http://www.joelonsof[...] 2000-11-08



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com