매거진 QA의 시작

잠깐!

결함 및 관리 도구 관련

by 제임스

소프트웨어 개발과 QA 과정에서 자주 등장하는 용어 중 결함(Defect), 장애(Failure), 이슈(Issue)는 서로 다른 개념임에도 불구하고 종종 혼용됩니다. 아래는 이 용어들을 명확히 구분하고 이해하기 쉽게 정리한 내용입니다.


1. 결함 (Defect)

정의

소프트웨어가 설계 요구사항을 충족하지 못하거나, 예상과 다르게 동작하는 문제를 의미합니다.

• 발생 위치: 개발 중 또는 테스트 중 발견

• 시스템이 잘못 설계되었거나, 코드에 오류가 있는 경우 주로 발생

예시

로그인 화면에서 비밀번호 입력란이 숫자만 허용해야 하지만, 특수 문자도 허용되는 경우


2. 장애 (Failure)

정의

소프트웨어가 실제 실행 중 결함으로 인해 사용자 환경에서 예상대로 작동하지 않는 상태를 의미합니다.

• 발생 위치: 운영 중 사용자 환경에서 나타남.

• 결함이 해결되지 않고 배포된 경우 장애로 발전

예시

전자상거래 앱에서 “결제” 버튼을 눌렀을 때 앱이 종료되는 문제


결함과 장애의 차이


3. 이슈 (Issue)

정의

소프트웨어 개발 과정에서 논의가 필요한 모든 항목을 포괄적으로 지칭. 결함이나 장애뿐 아니라 기능 요청, 개선점, 질문 등도 포함됩니다.

• “결함”과 “장애”보다 넓은 의미를 가짐.

예시:

• “로그인 화면의 버튼 배치를 변경해야 한다”는 개선 요청.

• “UI 디자인 가이드라인과 다른 구현”이라는 논의 사항.


이슈와 결함의 차이


4. 버그 (Bug)

정의

결함(Defect)의 비공식적인 표현. 소프트웨어에서 발생한 코드 오류 또는 예상치 못한 동작을 의미

• 결함과 동일한 의미로 사용되지만, 개발자와 QA 사이에서는 가볍게 쓰이는 용어

예시

게임 캐릭터가 벽을 뚫고 지나가는 문제를 “버그”라고 부름.


5. 에러 (Error)

정의

소프트웨어 내부에서 잘못된 코드나 계산으로 인해 발생하는 오류

• 시스템 또는 애플리케이션의 내부 상태를 설명하는 기술적 용어

예시

• “NullPointerException” 오류가 로그에 기록됨.

• 잘못된 데이터로 인해 API 호출이 실패함.


한눈에 보기: 용어 비교표


결함, 장애, 이슈를 관리하는 방법

1. 결함 관리 도구 활용: JIRA, Bugzilla와 같은 도구를 사용해 결함과 이슈를 체계적으로 관리

2. 우선순위 설정: 결함과 장애의 중대성과 우선순위를 명확히 설정하여 빠른 대응

3. 문서화: 각 결함과 이슈의 상세 설명, 발생 환경, 재현 단계 등을 명확히 기록


결론적으로, 용어를 명확히 이해하면 개발자와 QA 팀 간의 소통이 원활해지고, 문제 해결 속도도 높아질 수 있습니다!

keyword
매거진의 이전글Bug