매거진 QA의 시작

Defect Life Cycle

결함 및 관리 도구 관련

by 제임스

Defect Life Cycle(결함 생명 주기)는 결함이 발견되어 보고, 수정, 검증, 그리고 종료되는 과정을 체계적으로 관리하는 중요한 사이클입니다.

이 사이클은 결함을 효과적으로 추적하고 관리하는 데 필수적이며, 소프트웨어 품질 보증 활동의 핵심 중 하나입니다.


Defect Life Cycle이란?


Defect Life Cycle은 결함이 처음 발견된 순간부터 최종적으로 해결되고 종료되기까지의 전체 여정을 뜻합니다.

• QA 엔지니어가 결함을 발견하면, 이를 보고하고 추적하면서 개발자가 문제를 수정합니다.

• 이후 QA 엔지니어가 수정된 결과를 검증한 뒤, 결함이 완전히 해결되었다면 사이클이 종료됩니다.

이 과정은 결함이 방치되거나 잊히지 않도록 보장하며, 소프트웨어의 품질을 유지하는 데 중요한 역할을 합니다.


Defect Life Cycle의 단계

21.png


1. New (신규)

• 결함이 처음 발견되어 등록된 상태입니다.

• QA 엔지니어가 결함의 증상, 재현 방법, 환경 정보를 상세히 기록합니다.

• 예: “로그인 버튼 클릭 시 500 서버 오류 발생”


2. Assigned (할당됨)

• 결함이 프로젝트 관리자 또는 리드에 의해 적절한 개발자에게 할당됩니다.

• 이 단계에서 결함의 심각도(Severity)우선순위(Priority)가 결정됩니다.

• 예: “긴급(P1) - 사용자 인증 시스템 장애”


3. Open (열림)

• 개발자가 결함을 검토하고 수정을 시작한 상태입니다.

• 이 단계에서는 문제의 원인(Root Cause)을 분석하고, 수정 방법을 설계합니다.


4. Fixed (수정됨)

• 개발자가 결함을 수정한 후, 이를 QA 팀에 전달합니다.

• 수정된 결함은 테스트 환경에서 검증을 기다립니다.


5. Retesting (재테스트)

• QA 엔지니어가 수정된 결함을 검증하는 단계입니다.

• 결함이 완전히 해결되었는지, 수정이 새로운 문제를 야기하지 않았는지 확인합니다.


6. Verified (검증됨)

• 수정이 성공적으로 완료되었고, QA 팀이 이를 승인한 상태입니다.

• 결함은 이제 종료될 준비가 되었습니다.


7. Closed (종료됨)

• 결함이 해결되고 더 이상 발생하지 않는 것으로 확인되면 종료됩니다.

• 이 상태에서는 결함이 다시 열리지 않습니다.


8. Reopen (다시 열림)

• QA 엔지니어가 결함이 수정되지 않았거나 여전히 발생한다고 판단하면, 결함이 다시 열립니다.

• 개발자는 재수정을 진행하며, 사이클이 다시 시작됩니다.


Defect Life Cycle의 비유: 병원 진료 과정


Defect Life Cycle은 결함을 병원 진료 과정에 비유할 수 있습니다.

1. New: 환자가 병원에 와서 증상을 처음 접수(결함 발견)

2. Assigned: 의사가 환자를 배정받음(개발자 할당)

3. Open: 진단하고 치료 계획 수립(원인 분석 및 수정)

4. Fixed: 치료가 완료되어 환자를 퇴원 준비(수정 완료)

5. Retesting: 환자가 건강 상태를 재확인(재테스트)

6. Verified: 의사가 환자의 상태가 완치되었음을 확인(검증)

7. Closed: 환자가 완전히 퇴원(결함 종료)

8. Reopen: 증상이 재발하여 다시 치료가 필요함(다시 열림)


Defect Life Cycle의 주요 특징


1. 체계적 관리

• 모든 결함이 추적 가능하며, 누락되지 않고 철저히 관리됩니다.

2. 우선순위 기반 수정

• 결함의 심각도와 우선순위에 따라 중요한 문제부터 먼저 해결합니다.

3. 효율적 커뮤니케이션

• QA 엔지니어, 개발자, 프로젝트 관리자 간의 명확한 소통을 촉진합니다.


Defect Life Cycle의 실제 사례


사례 1: 전자상거래 앱의 결제 오류

1. New: QA 엔지니어가 “결제 버튼 클릭 시 결제가 처리되지 않음”을 발견하고 보고

2. Assigned: 이 결함이 백엔드 개발자에게 할당됨.

3. Open: 개발자가 결함의 원인이 “서버 연결 오류”라는 것을 발견

4. Fixed: 서버 연결 문제를 수정

5. Retesting: QA 엔지니어가 결제가 정상적으로 처리되는지 테스트

6. Verified: 결제가 정상적으로 완료되었음을 확인

7. Closed: 결함이 종료됨.


사례 2: 모바일 뱅킹 앱의 UI 깨짐 현상

1. New: “아이폰 12에서 버튼 텍스트가 잘려 보임”이라는 결함 보고

2. Assigned: UI 개발자에게 결함 할당

3. Open: 원인이 특정 화면 크기에서의 레이아웃 문제임을 확인

4. Fixed: 레이아웃을 조정하여 텍스트 표시 문제 해결

5. Retesting: QA 엔지니어가 다양한 화면 크기에서 UI를 테스트

6. Verified: 모든 기기에서 UI가 정상적으로 표시됨을 확인

7. Closed: 결함 종료


Defect Life Cycle의 중요성


1. 품질 보장

• 결함을 체계적으로 관리하여 소프트웨어 품질을 지속적으로 개선합니다.

2. 효율적 자원 활용

• 결함의 우선순위를 설정하여 중요한 문제에 자원을 집중합니다.

3. 프로젝트 성공 지원

• 결함 관리가 잘 이루어지면 프로젝트 일정이 원활히 진행되고, 릴리스 품질이 높아집니다.



Defect Life Cycle은 결함을 효과적으로 추적하고 관리하기 위한 체계적인 도구입니다.

주니어 QA 엔지니어는 이 생명 주기를 통해 결함 관리의 기본 원칙과 실무 능력을 익힐 수 있습니다.

결함의 생명 주기를 제대로 이해하면, 소프트웨어 품질 보증의 중요한 축을 완벽히 다룰 수 있을 것입니다.

keyword
매거진의 이전글Test Plan