QA
JIRA Bug(Defect) 넌 뭐니?
Joseph여기어때
2022년 8월 23일
원문에서 보기 ↗QA팀에서 등록한 Bug(Defect)의 work flow 소개

안녕하세요. 여기어때컴퍼니 QA팀 요셉입니다~!
이번에 작성할 글은 흔히들 Bug라고 부르는 Defect에 대해서 작성을 하려고 합니다. 기술총괄 뿐 아니라 Product총괄에서도 신규입사하신 분들이 많아 기존에 Jira를 사용하지 않으셨던 분들은 Defect의 등록부터 해결까지 Flow와 Defect의 상태별 활동들에 대해 모르실 수도 있을 것 같아 작성을 하게 되었습니다.
우선 Bug(Defect)란 무엇일까요??
가장 먼저 뇌리에 떠오르실 그런 벌레는 아니고… 소프트웨어에서 발생하는 에러/오류 입니다. 결함, 에러, 오류, 이슈, 문제 등 다양한 이름으로 부르고 있습니다.
소프트웨어에서 Bug의 명칭은 초기 컴퓨터인 Mark.2에 문제가 있어 케이스를 열어보니 조그마한 벌레 한 마리가 컴퓨터의 회로에 들어가 문제를 발생했다는 이야기에서 유래하게 되었습니다.
소프트웨어에서 Bug(Defect)는 어떻게 생기게 될까요?
Bug(Defect)는 Error로 시작해서 Defect으로 변신하고 환경 혹은 또 다른 Defect으로 인해 Failure로 변화됩니다. 그림으로 보면 아래와 같습니다~

Error는 제품 개발에 참여한 누군가의 실수로 인해 발생하며,
Bug(Defect)는 예상결과와 실제 결과 간의 차이 입니다. Bug(Defect)는 지정된 요구사항 및 기준을 준수하지 못한 경우 QA팀 혹은 제품 개발에 참여한 모두가 찾은 Error 입니다.
Failure는 실제 운영 환경에서 시스템이 예상대로 작동하지 않은 경우 발생하게 됩니다.
사소한 실수(Error)로 시작해서 Bug(Defect)가 되고 나비효과처럼 큰 장애(Failure)가 될 수 있습니다. 장애까지 가는 걸 막기 위해 저희는 Bug(Defect)를 발견하고 개발팀에서는 이를 Debugging 하여 배포를 하게 되는 겁니다.
QA팀에서 Jira에 등록하는 이슈는 모두 Bug(Defect)이며 그로 인해 실제 운영 환경에서 발생한 장애는 Failure라고 생각하시면 됩니다.
실제 운영 환경에서 발생할 숨어 있는 장애(Failure)가 되기 전에 Bug(Defect)를 발견하여 해결하는 활동을 JIRA를 통해 하고 있고 이걸 저희는 Bug traking tool이라고 합니다.

Jira에서는 Bug(Defect)를 생성, 수정, 관리, 삭제하는 일련의 활동을 하고 있습니다.
아래는 현재 QA팀에서 진행하고 있는 Bug(Defect) 등록부터 해결까지 일련의 Work flow 입니다.

신규 요청 : QA팀 혹은 제품 개발에 참여한 그 누구라도 Bug(Defect)를 발견하면 등록하는 첫 단계입니다. 신규요청에서 다음 단계로 진행과 의사결정필요, 보류 이렇게 3가지로 나눠지게 됩니다. QA팀에서는 신규 요청 시 중요한 건 이슈 담당자에게 “이해하기 쉽게 전달” 목적을 가지고 작성을 합니다. 그중 우선순위, 설명, 첨부파일을 이해하기 쉽게 전달하기 위한 중요한 데이터라고 생각합니다.
- 우선순위 Critical (긴급) : 테스트를 더 이상 진행할 수 없는 버그. 해당 어플리케이션이 종료/다운 되거나 키보드 작동 불능 등으로 강제 종료를 시켜야 할 상황이 발생되는 정도의 이슈. 시스템/프로그램이 멈추거나 비정상 종료되어 사용할 수 없게 되는 경우. 400, 500번의 에러 페이지가 표시되는 경우. 예약/결제 금액의 데이터 불일치하는 경우. Major (높음) : 해당 기능이 정상적으로 완료되지 않거나, 완료 여부를 확인할 수 없을 경우. 숙소/상품의 데이터가 불일치 하는 경우. 본래 목적대로 사용이 불가능 하거나 실 사용상 지장을 초래하는 경우 Flow대로 동작 되지 않는 결점으로 즉시 수정을 요하는 경우. Minor (보통) : 단위 기능은 수행되나 일부 기능이 수행되지 않는 경우. 사용에는 이상이 없으나 고객의 오해가 발생할 수 있는 문제. Trivial (낮음) : 단순 오타 및 배열의 문제. 기타 사소한 이슈. 수정하지 않아도 되는 사소한 이슈. 단순 UI 오류. Enhancement (개선사항) : 기존 기능의 개선 요구 사항. 사용성, 성능 등 여러 관점에서 개선이 필요하다고 생각되는 경우. 새로운 기능의 추가 요구 사항.
- 설명 테스트 환경에는 서버, 여기어때 버전, 테스트폰 버전 등 입력. 사전 조건에는 Bug(Defect) 발생 전 사전 세팅. 재현경로는 이슈 담당자에게 이해될 수 있도록 최대한 간결하게, 이해할 수 있는 언어로 작성. 현재결과 이슈의 실제 현상을 작성. 기대결과 이슈의 요구사항 및 기준 등 기대되는 결과를 작성.
- 비고 이슈 담당자에게 전달해야 할 사항 등 작성

- 첨부파일 첨부파일은 동영상과 스크린샷으로 전달하고 설명에선 부족한 부분을 채우기위해 첨부하게 됩니다.
의사결정필요 : 이 단계에는 이슈 담당자가 이해관계자의 협의가 필요한 경우 변경하는 상태로 PO, UX, 개발자, QA 등 이슈와 관련된 이해관계자가 진행을 할지, 보류를 할지 결정하는 상태입니다. 다음 단계로는 신규요청이 있습니다.
진행 : 이슈 담당자에게 이슈가 할당되어 수정 중인 상태입니다. 이슈가 신규요청되어 이슈담당자에게 할당된다면 이슈담당자는 상태를 진행으로 변경 후 수정 진행하게 됩니다. 진행에서 다음 단계로는 개발/기획완료, 보류로 분리됩니다.
개발/기획 완료 : 수정완료된 상태입니다. 이때 이슈담당자는 댓글에 수정된 내용을 같이 기입해주셔야 합니다.
댓글에 간혹 기입없이 상태만 변경 해주시는 분, Text로 “수정완료"만 기입 하신 분도 있습니다. QA팀에서 확인테스트 및 리그레이션 테스트를 진행하기에 앞서 개발팀에서 적어주신 댓글을 참고하여 테스트를 진행합니다. 이슈의 원인과 결과(수정내용) 등을 적어주시면 Side effect 발생을 최소화 할 수 있습니다.
개발/기획 완료에 있을때 QA팀에서는 이슈의 확인테스트를 진행하게 되고 그 결과에 따라 다음 단계인 재요청, 완료, 현상태요청으로 상태가 변경되게 됩니다.

재요청 : 재 요청은 개발/기획 완료 단계에서 이슈가 재현될 경우 재 수정을 요청하는 상태입니다. QA팀 혹인 이슈 보고자가 상태를 변경하며 댓글엔 발생되는 결과등을 작성하여 재 요청을 하게 됩니다. 재 요청의 다음 단계는 진행, 보류가 있습니다.
보류 : 보류는 추후 수정을 원하는 이슈들을 모아두는 백로그라고 생각하시면 됩니다. 개발자 혹은 PO분들이 해당 이슈가 우선순위가 낮고 수정에 기간이 필요한 경우, 현재 수정이 불가한 경우 등 추후에 수정할 이슈들의 상태를 변경하게 됩니다. 최종 결정은 이슈를 등록/보고한 자가 보류 결정을 하게 됩니다. 보류의 다음 단계는 재요청, 완료(QA), 현상태유지가 있습니다.
현상태유지(KEEP GOING) : 현상태유지는 협의된 사항이거나 정책적으로 이슈가 아닌 것을 말합니다. QA팀에서 이슈로 등록했으나 협의를 거쳐 수정 없이 그대로 배포를 한다는 내용입니다.
완료(QA) : 개발/기획 완료 상태에 있는 이슈들을 QA팀 혹은 이슈 보고자가 확인테스트와 리그레이션 테스트를 진행하여 수정 됨을 확인하고 사이드 이펙이 없는지 확인합니다. 완료가 된 상태에서도 이슈가 다시 재현되면 재 요청으로 이동할 수 있습니다.
JIRA에 등록한 Bug(Defect)관련 업무 요청은 생성부터 해결까지 개발팀, 기획팀, UX, DA, QA 분들의 의사소통 창구 중 하나 입니다. 잘못된 정보, 이해하지 못하는 언어 등은 의사소통에 큰 문제를 일으키기 때문에 정확한 정보와 간결하고 쉽게 이해할 수 있는 언어로 작성이 되어야 합니다.
지금까지 Bug(Defect)의 개념과 Work flow를 알려드렸습니다.
두 가지는 꼭 기억해주세요~
- 상태를 잘 변경해주세요~!! 신규요청, 재요청, 완료(QA), 보류, 현상태유지(KEEP GOING)은 QA 혹은 이슈 보고자가 상태를 변경 진행, 의사결정필요, 개발/기획완료 등은 개발팀 혹은 이슈 담당자가 상태를 변경
- 댓글을 잘 작성해주세요~!! 히스토리는 Bug(Defect)의 생명~
Bug(Defect)는 누구를 탓하는 게 아니라 프로젝트에 참여한 분들의 품질이라는 목표를 가진 의사소통 창구라고 생각해주시면 좋을 것 같습니다.
QA팀은 여기어때의 품질을 더욱 높이기 위하여 꾸준히 노력하도록 하겠습니다~
긴 글 읽어 주셔서 감사합니다~!!