본문 바로가기

백엔드 개발자 기록 일람/정보처리기사 준비 기록

결함 관리

▼결함 관리

★결함

소프트웨어의 에러, 결함, 결점, 버그, 실패와 같은 용어가 사용되며, 이러한 결합으로 인하여 설계와 다른게 동작하거나 다른 결과가 발생하는 것을 의미한다.

심각도별 분류 : 치명적 결함, 주요 결함, 보통 결함, 경미한 경함, 단순 경함 등으로 분류할 수 있다.

결함 우선순위 : 결정적 높은, 보통, 낮은 또는 즉시 해결, 주의 요망, 대기, 개선 권고 순으로 표시하며 결함의 심각도가 높다고 해서 반드시 우선 순위가 높은 것은 아니다.

 

★결함 유입별 분류

기획 시 유입되는 결함, 실제 시  유입되는 결함, 코딩시 유입되는 결함, 테스트 부족으로 유입되는 결함 등으로 분류한다.

 

★ 결함 분류 

시스템 결함 : 주로  애플리케이션이나 데이터베이스 처리에서 발생되는 결함이다.

기능 결함 : 애플리케이션의 기획, 설계, 업무 시나리오 등의 단계에서 유입된 결함이다.

GUI 결함 : 화면 설계에서 발생된 결함이다.

문서 결함 : 기획자, 사용자, 개발자 간 의사소통 및 기록이 원활하지 않아 발생된 결함이다.

 

★결함 관리 프로세스

결함 관리 계획 결함 관리에 대한 일정, 인력, 업무  프로세스를 확보하여 계획을 수립.
결함 기록 테스터는 발견된 결함에 대한 정보를 결함 관리 DB에 기록.
결함 검토 등록된 결함에 있어서 주요 내용을 검토하고, 결함을 수정할 개발자에게 전달.
결함 수정 개발자는 할당된 결함 프로그램 수정.
결함 재확인 테스터는 개발자가 수정한 내용을 확인하고 다시 테스트 수행
결함 상태 추적 및 모니터링 결함 관리 팀장은 결함 관리 DB를 이용하여 대시보드 또는 계시판 형태의 서비스를 제공.
최종 결함 분석 및
보고서 작성
발견된 결함과 관련된 내용과 이해관계자들의 의견이 반영된 보고서를 작성하고 결함관리를 종료

 

★결함 관리 프로세스

애플리케이션 테스트에서 발견된 결함을 처리하는 과정은 

결함 관리계획 -> 결함기록 -> 결함 검토 -> 결함수정 <-> 결함 재확인 -> 최종 결함 분석 및 보고서 작성

츨처: https://lipcoder.tistory.com/311

 

★ 결함 추적 순서

결함 추적은 결함이 발견된 때부터 결함이 해결될 때까지 전 과정을 추적하는 것으로 순서는 다음과 같다.
결함 등록(Open) : 테스터와 품질 관리 담당자에 의해 발견된 결함이 등록된 상태
결함 검토(Reviewed) : 등록된 결함을 테스터, 품질 관리 담당자, 프로그램 리더, 담당 모듈 개발자에 의해 검토된 상태
결함 할당(Assigned) : 결함을 수정하기 위해 개발자와 문제 해결 담당자에게 결함이 할당된 상태
결함 수정(Resolved) : 개발자가 결함 수정 완료한 상태
결함 조치 보류(Deferred) : 결함의 수정이 불가능해 연기된 상태로, 우선순위, 일정 등에 따라 재오픈을 준비중인 상태
결함 종료(Closed) : 결함이 해결되어 테스터와 품질 관리 담당자가 종료를 승인한 상태
결함 해제(Clarified) : 테스터, 프로그램 리더, 품질 관리 담당자가 종료 승인한 결함을 검토하여 결함이 아니라고 판명한 상태

 

▼결함 관리  도구 및 용어

★결함 관리 도구

Manis : 소프트웨어 설꼐 시 단위별 작업 내용을 기록할 수 있어 결함  및 이슈관리, 추적을 지원하는 오픈소스 도구

Bugzilla: 결함을 지속적으로 관리하고 심각도와  우선순위를 지정할   수 있는 오픈소스 도구

Redmine : 프로젝트 관리 및 결합 추적 도구

JIRA : 아틀래시안에서 제작한 PHP로 개발된 결함 상태 관리 도구

Test Collab: 테스트 케이스를 관리하기 위한 간단하고 쉬운 인터페이스를 제공하며 Jira, Redmine, Asana, Mantis 등과  같은 버그 추적 도구와의 완벽한 통합 지원

 

★결함관련  용어

에러: 소프트웨어 개발 또는 유지보수 수행 중 발생한 부정확한 결과로, 개발자의 실수로 발생한 오타, 개발 명세서의 잘못된  이래, 서브루틴의 기능 오해등이 있다.

오류: 프로그램 코드상에 존재하는 것으로 비정상적인 프로그램과 정상적인 프로그램 버전간의 차이로 인하여 발생되어, 잘못된 연산자가 사용된 경우에 프로그램이 서브루틴으로부터의 에러 리턴을 점검하는 코드가 누락된 것을 말한다.

실패: 정상적인프로그램과 비정상적인 프로그램의 실행결과의 차이를 의미하며, 프로그램 실행중에 프로그램의 실제 실행 결과를 개발 명세서에 정의된 예상  결과와 비교함으로서 발견한다.

결함: 버그,에러,오류,실패, 프로그램 실행에 대한 문제점, 프로그램 개선사항 등의 전체를 포괄하는 용어이다.

 

★결함 내성

시스템을 구성하는 부품의 일부에서  결함 또는 고장이 발생하여도 정상적 혹은 부분적으로 기능을 수행할 수 있는 내성을 의미한다. 고장허용성이라고도 한다.