센로그

[ED] 1. 모든 문제를 이슈 추적 시스템으로 관리하기 본문

Effective/Effective Debugging

[ED] 1. 모든 문제를 이슈 추적 시스템으로 관리하기

seeyoun 2024. 11. 11. 18:42

이슈 추적이란?

  • 이슈란?
    • 프로젝트에서 발생할 수 있는 버그, 오류, 개선 요청, 작업 할당 등 다양한 문제와 작업 항목을 의미한다.
  • 이런 이슈들을 기록하고, 해결 과정을 관리하는 것을 이슈 추적이라고 한다.

 

 

이슈 추적 시스템

  • 깃허브, 깃랩... 소스코드 저장소들은 버전관리 기능 뿐만 아니라 이슈 추적 기능도 함께 제공하고 있다.
  • 또는 별도의 이슈 추적 시스템을 사용하곤 한다
    • 상용 이슈 추적 시스템인 JIRA
      • 조직 내부에서 직접 구축 가능
    • 오픈소스로는, 버그질라, 론치패드, OTRS, 레드마인, 트랙 등이 있다.

 

이슈 추적 시스템을 꾸준히 활용하면 좋은 점

  • 디버깅 작업을 명확하게 파악 가능
  • 릴리스 일정을 수립하고 추적 가능
  • 작업의 우선순위를 정할 수 있음
  • 자주 발생하는 이슈나 해결책을 문서로 정리 가능
  • 해결해야 할 문제를 실수로 빼먹지 않을 수 있음
  • 릴리스 노트를 자동으로 생성할 수 있음
  • 결함을 측정하고 되돌아보며 교훈을 얻을 수 있는 저장소로 활용 가능

 

이슈 작성하는 방법

  • 문제를 재현하는 방법도 정확히 기록한다.
    • 실제 실행해볼 수 있는 예제 기록하면 좋음
  • 버그 리포트의 제목을 정확하게 붙인다.
    • 요약 리포트만 봐도 어떤 버그인지 쉽게 알아볼 수 있도록 하는 것
      • 나쁜 예: 프로그램이 갑자기 뻗음
      • 좋은 예: 저장하는 동안 리프레시 버튼을 누르면 프로그램이 뻗음
  • 버그의 우선순위, 심각한 정도를 기록한다.
    • 심각한 정도에 따라 해결 우선순위가 달라지기 때문이다.
    • 이에 기반하여 작업 일정을 짤 수도 있게 된다.
  • 해당 버그와 관련된 사람들이나, 버그가 발생한 환경에 대한 정보를 기록한다.
    • 쉽게 발생하지 않는 버그를 재현하는 데 도움이 되기 때문이다.

 


추가

 

 

+) 깃허브 이슈 추적 기능

  • 레포지토리별 Issues 항목을 통해 이슈 관리가 가능하다.

 

  • 담당자, 라벨, 마일스톤 등을 설정 가능하다.

 

  • 자동으로 이슈 번호가 할당된다. 
    • 깃 커밋 메시지에 이슈 번호를 작성하여 특정 코드가 어떤 이슈를 해결하는지 명확히 나타낼 수도 있다.
  • 이슈가 해결 되면 이슈를 닫을 수 있다.

 

+) 어느 정도 수준의 버그까지 기록하는 게 좋을까?

  • 최종 사용자에게 영향을 미치는 버그
  • 프로젝트의 핵심 기능에 영향을 주는 버그
  • 반복적으로 발생하는 버그
  • 디버깅이나 분석에 유용한 버그

 

+) 해결이 쉬운 버그라도 기록하는 게 좋을까?

  • 해결이 쉬운 버그일지라도 이슈 추적 시스템에 기록하면 좋은 점
    • 버그 해결 기록을 추후 참고 가능
    • 버그 해결 이력이 쌓이면 코드나 시스템의 취약한 부분을 파악하는 데도 도움이 됨
    • 팀 간 정보 공유를 통해 의사소통이 원활해짐
    • 시간 관리와 우선순위 설정 가능

 

Comments