버그 추적

쓰러진 체스 말들에 둘러싸인 체스 여왕

버그 추적이란 무엇인가요?

버그 추적은 소프트웨어 테스트 중에 버그 또는 오류를 기록하고 모니터링하는 프로세스입니다. 결함 추적 또는 문제 추적이라고도 합니다.

대규모 시스템에는 수백 또는 수천 개의 결함이 있을 수 있습니다. 디버깅을 위해 각각 평가, 모니터링 및 우선순위를 지정해야 합니다. 때로는 버그를 장기간에 걸쳐 추적해야 할 수도 있습니다.

Tutorials Point는 “복잡하고 비즈니스에 중요한 시스템에는 수백 개의 결함이 있기 때문에 소프트웨어 엔지니어링에서 결함 추적은 중요한 프로세스입니다.”라고 말합니다. “어려운 요소 중 하나는 이러한 결함을 관리하고 평가하며 우선순위를 정하는 것입니다. 시간이 지남에 따라 결함의 수는 증가하며, 이를 효과적으로 관리하기 위해 결함 추적 시스템을 사용하여 작업을 더 쉽게 수행할 수 있습니다."1

고속도로 조감도

클라우드에 집중 


AI 시대의 멀티클라우드 설정을 최적화하는 방법에 대한 전문가의 안내가 담긴 주간 Think 뉴스레터를 받아보세요.

버그 추적 작동 방식

소프트웨어 버그는 애플리케이션이나 프로그램이 제대로 작동하지 않을 때 발생합니다. 대부분의 오류는 시스템 설계자, 디자이너 또는 개발자가 저지른 결함 또는 실수입니다. 테스트 팀은 버그 추적을 사용하여 애플리케이션이 개발되고 테스트될 때 발생하는 오류를 모니터링하고 보고합니다.

위키백과에서는 "버그 추적 시스템의 주요 구성 요소는 알려진 버그에 대한 사실을 기록하는 데이터베이스입니다."라고 설명합니다. "사실에는 버그가 보고된 시간, 버그의 심각도, 잘못된 프로그램 동작, 버그 재현 방법에 대한 세부 정보, 버그를 보고한 사람의 신원 및 버그를 수정할 수 있는 프로그래머가 포함될 수 있습니다." 2

수명 기간 동안 하나의 결함이 여러 단계 또는 상태를 거칠 수 있습니다. 그 이점에는 다음이 포함됩니다.

  • 활성: 조사 진행 중
  • 테스트: 수정 및 테스트 준비 완료
  • 검증: 품질 보증(QA)을 통해 재테스트 및 검증
  • 종료: QA 재테스트 후 또는 결함으로 간주되지 않는 경우 종료 가능
  • 재개: 수정되지 않고 재활성화됨 3

버그는 우선순위와 심각도에 따라 관리됩니다. 심각도 수준은 문제가 제품 릴리스에 미치는 상대적 영향을 식별하는 데 도움이 됩니다. 이러한 분류는 그 수는 다양할 수 있지만 일반적으로 다음과 같은 형태를 포함합니다.

  • 치명적: 소프트웨어가 완전히 고장나거나 복구할 수 없는 데이터 손실이 발생합니다. 해결 방법이 없으며 제품을 릴리스할 수 없습니다.
  • 기능 장애: 해결 방법이 있을 수 있지만 만족스럽지 않습니다. 소프트웨어를 릴리스할 수 없습니다.
  • 중요하지 않은 시스템 장애: 합리적으로 만족스러운 해결 방법이 있습니다. 버그가 문서화되면 제품이 릴리스될 수 있습니다.
  • 경미: 해결 방법이 있거나 문제를 무시할 수 있습니다. 제품 릴리스에는 영향을 미치지 않습니다.

일반적으로 상태 및 심각도 수준은 버그 추적 데이터베이스에서 모니터링됩니다. 좋은 추적 플랫폼은 또한 더 큰 소프트웨어 개발 및 관리 시스템과 연결되어 오류 상태와 전체 생산 및 일정에 대한 잠재적 영향을 더 잘 평가할 수 있습니다.

IBM DevOps

DevOps란 무엇인가요?

Andrea Crawford는 DevOps의 정의, DevOps의 가치, 그리고 DevOps 사례와 툴이 아이디어 구상부터 프로덕션에 이르기까지 전체 소프트웨어 Delivery Pipeline을 통해 앱을 이동하는 데 어떻게 도움이 되는지 설명합니다. 최고의 IBM 사고 리더가 이끄는 이 커리큘럼은 비즈니스 리더가 성장을 주도할 수 있는 AI 투자의 우선순위를 정하는 데 필요한 지식을 얻을 수 있도록 설계되었습니다.

버그 추적이 중요한 이유

소프트웨어 개발자는 1,000줄의 코드당 100-150개의 오류를 범하는 것으로 추정됩니다.4 IT 소프트웨어 품질 협회(CISQ)의 보고서에 따르면, “이러한 오류 중 극히 일부(예: 10%)만 심각하더라도 20,000줄의 코드로 구성된 비교적 작은 애플리케이션에서도 약 200개의 심각한 코딩 오류가 발생합니다." 5

소프트웨어 테스트는 오류를 격리하고 완화하는 데 필수적입니다. 좋은 QA 프로세스는 수백 또는 수천 개의 결함을 발견할 수 있으며 테스트 팀은 모든 결함을 관리해야 합니다. 버그 추적을 테스트 워크플로에 통합하면 테스터가 각 오류의 상태를 우선순위로 지정하고, 모니터링하고, 보고할 수 있으므로 효율성이 향상됩니다.

애자일 컨설턴트인 Yvette Francino는 "결함 추적은 시스템에서 발견된 버그를 실제로 수정하는 데 도움이 됩니다."라고 말합니다. "추적 툴은 후속 조치를 보장하는 방법을 제공할 뿐만 아니라 중요한 지표도 제공합니다. 사용되는 툴에 따라 팀은 결함을 변경된 코드, 테스트 또는 결함 추세에 대한 추적 또는 분석을 허용하는 기타 데이터에 연결할 수 있습니다. 특정 모듈에 결함이 있는 경우 해당 모듈을 검토하고 다시 작성해야 할 때일 수 있습니다." 6

이상적으로는 가능한 한 빨리 테스트를 수행하는 것이 좋습니다. 버그 수정이 더 쉽고 비용도 훨씬 적게 들기 때문입니다. IBM의 이전 연구에 따르면 프로덕션 후 또는 릴리스 후에 발견된 결함은 개발 초기에 해결된 오류에 비해 수정하는 데 15배 더 많은 비용이 들 수 있습니다.

현재 많은 팀이 연속 테스트라는 방법론을 사용하고 있습니다. 이 경우 설계 및 코딩부터 배포에 이르기까지 개발의 모든 단계에서 품질 테스트와 피드백이 수행됩니다. 인공 지능(AI)과 같은 최신 기술도 라이프사이클 초기에 버그를 감지하고 분석하여 테스트 프로세스를 지원할 수 있습니다.

버그 추적의 주요 기능

품질 관리는 강력한 애플리케이션을 개발하는 데 매우 중요합니다. 소프트웨어 테스트 변경 관리 및 버그 추적 툴을 통해 팀은 결함을 발견하고, 그 범위와 영향을 측정하고, 결함을 해결할 수 있습니다.

Nicholas Bowen은 Harvard Business Review에서 결함 관리 프로세스를 간략하게 설명합니다. 첫 번째 단계는 분류하고 우선순위를 정하는 것입니다. “일반적으로 팀은 시스템 장애를 일으키는 버그와 심각도는 낮지만 널리 퍼질 수 있는 버그 등 두 가지 유형의 버그에 우선순위를 지정합니다. 다음으로 각 심각도 수준에 대한 목표 응답 시간을 결정합니다. 품질 관리 시스템을 새로 도입한 경우 초기에는 몇 시간 또는 며칠 내에 가장 심각한 버그를 수정하는 데 초점을 맞춰야 합니다. 시스템을 사용하면서 두 가지 주요 지표인 수신 버그 발생률과 버그 수정자의 생산성에 대한 데이터를 수집하고 필요에 따라 목표를 조정할 수 있습니다." 그는 또한 조직이 결함과 이를 해결하는 데 필요한 시간을 CEO부터 모든 수준에서 검토할 수 있는 시스템을 만들어야 한다고 말합니다.7

우수한 버그 추적 시스템은 결함 모니터링, 보고 및 수명 주기 추적을 위한 단일 워크플로를 제공하여 이 프로세스를 지원할 수 있습니다. 이는 소프트웨어 개발과 더 큰 조직 내에서 가시성과 피드백을 공유하기 위해 다른 관리 시스템과 추가로 연결되어야 합니다. 예를 들어 IBM® Rational® ClearQuest®는 오류 추적 및 보고를 위한 중앙 집중식 플랫폼을 제공합니다. 이는 다른 IBM 개발 및 변경 관리 시스템과 통합되며 개발자, 운영 및 광범위한 팀 간의 커뮤니케이션과 협업을 개선하는 데 도움이 됩니다.

또한 AI를 사용하여 개발 프로세스 초기에 오류를 감지하는 테스트 및 추적 시스템을 찾아보세요. 팀이 실행하는 테스트의 수와 유형을 최적화하고, 테스트 프로세스를 자동화하며, AI를 사용하여 과거의 결함을 분석하고 향후 결함을 예방할 수 있습니다.

관련 솔루션
IBM DevOps Accelerate

온프레미스, 클라우드 또는 메인프레임의 모든 애플리케이션에 대한 소프트웨어 제공을 자동화합니다.

DevOps Accelerate 살펴보기
DevOps 솔루션

DevOps 소프트웨어 및 도구를 사용하여 여러 장치 및 환경에서 클라우드 네이티브 앱을 구축, 배포 및 관리합니다.

DevOps 솔루션 살펴보기
클라우드 컨설팅 서비스 

IBM Cloud 컨설팅 서비스를 통해 새로운 역량을 개발하고 비즈니스 민첩성을 향상하세요. 하이브리드 클라우드 전략 및 전문가 파트너십을 통해 솔루션을 공동으로 개발하고, 디지털 혁신을 가속화하고, 성능을 최적화하는 방법을 알아보세요.

클라우드 서비스
다음 단계 안내

지속적인 통합 및 배포를 통해 안전한 클라우드 네이티브 앱을 빌드, 테스트 및 배포할 수 있는 DevOps의 잠재력을 활용하세요.

DevOps 솔루션 살펴보기 DevOps 활용 사례 살펴보기