결함 관리
IT위키
더 많은 작업
- 상위 문서: 소프트웨어 테스트
- Defect Management
- 테스트에서 발견된 결함을 기록하고, 수정 담당자에게 할당하여 해결될 때까지 상태를 추적·관리하는 활동
| 용어 | 설명 |
|---|---|
| 오류(Error), 실수(Mistake) | 사람의 잘못된 판단이나 행위. 결함의 원인이 된다. |
| 결함(Defect), 결점(Fault), 버그(Bug) | 오류 때문에 코드나 문서에 생긴 잘못. 결함이 있는 부분이 실행되면 실패로 이어질 수 있다. |
| 실패(Failure), 문제(Problem) | 결함이 실행되어 시스템이 기대와 다르게 동작하는 현상 |
- 흐름: 사람의 오류 → 산출물의 결함 → 실행 시 실패
- 넓은 의미의 결함은 소프트웨어가 사용자의 기대와 다르게 동작하는 모든 경우를 가리킨다.
- 결함 관리 계획: 전체 프로세스에 대한 결함 관리 일정, 인력, 업무 프로세스를 정한다.
- 결함 기록: 테스터가 발견한 결함을 결함 관리 DB에 등록한다.
- 결함 검토: 등록된 결함을 주요 내용 중심으로 검토하고 수정할 개발자에게 전달한다.
- 결함 수정: 개발자가 할당된 결함을 수정한다.
- 결함 재확인: 테스터가 수정 내용을 확인하고 다시 테스트한다.
- 결함 상태 추적 및 모니터링: 결함 관리 도구로 상태 변화와 추이를 확인한다.
- 최종 결함 분석 및 보고서 작성: 발견된 결함 정보와 이해관계자의 의견을 담아 보고서를 쓰고 결함 관리를 종료한다.
| 상태 | 의미 |
|---|---|
| 결함 등록(Open) | 결함이 보고되었으나 아직 분석되지 않은 상태 |
| 결함 검토(Reviewed) | 등록된 결함을 검토하는 상태 |
| 결함 할당(Assigned) | 수정할 개발자에게 결함이 할당된 상태 |
| 결함 수정(Fixed, Resolved) | 개발자가 수정을 완료한 상태 |
| 결함 조치 보류(Deferred) | 우선순위가 낮거나 여건이 되지 않아 수정을 다음으로 미룬 상태 |
| 결함 종료(Closed) | 수정이 확인되어 결함이 해결되고 종료된 상태 |
| 결함 해제(Clarified) | 검토 결과 결함이 아니라고 판명된 상태 |
- 일반 흐름: Open → Assigned → Fixed → Closed. 재테스트에서 해결되지 않았으면 다시 Open(Reopen)이 된다.
- 시스템 결함: 운영체제, 하드웨어, DB 연동 등 시스템 차원의 결함(비정상 종료, 응답 지연 등)
- 기능 결함: 요구사항과 다르게 동작하거나 기능이 누락된 결함
- GUI 결함: 화면 구성, 입력·출력 요소, UI 비일관성 등의 결함
- 문서 결함: 사용자 매뉴얼, 요구사항 명세 등과 실제 시스템이 다른 결함
| 구분 | 의미 | 등급 예 |
|---|---|---|
| 심각도(Severity) | 결함이 시스템에 미치는 영향의 크기 | 치명적(Critical), 주요(Major), 보통(Normal), 경미(Minor), 단순(Simple) |
| 우선순위(Priority) | 결함을 얼마나 빨리 수정해야 하는지 | 결정적(Critical), 높음(High), 보통(Medium), 낮음(Low) |
- 심각도가 높다고 반드시 우선순위가 높은 것은 아니다. 예를 들어 첫 화면의 회사명 오타는 심각도는 낮지만 우선순위는 높을 수 있다.
| 도구 | 특징 |
|---|---|
| Mantis(MantisBT) | 웹 기반 오픈소스 버그 추적 도구. 단위 테스트와 결함 관리에 쓴다. |
| Trac | 오픈소스 이슈 추적 도구. 위키와 형상 관리 저장소 조회 기능을 함께 제공한다. |
| Redmine | 오픈소스 프로젝트 관리·이슈 추적 도구. 일정 관리, 위키, 형상 관리 연동을 지원한다. |
| Bugzilla | Mozilla 프로젝트에서 개발한 오픈소스 버그 추적 도구. 결함 심각도와 우선순위를 지정할 수 있다. |
| Jira | Atlassian의 상용 이슈·프로젝트 관리 도구. 애자일 보드와 워크플로를 제공한다. |
- 필기: 오류(Error) → 결함(Defect/Fault) → 실패(Failure) 용어 구분
- 필기·실기: 결함 상태(Open, Assigned, Fixed, Closed, Deferred, Clarified)의 의미와 순서
- 필기: 결함 관리 도구(Mantis, Trac, Redmine, Bugzilla) 식별, 심각도와 우선순위의 차이