개요
버그는 소프트웨어나 시스템이 의도와 다르게 동작하게 만드는 결함을 말한다. 코드의 논리 오류, 설계 누락, 환경 차이, 입력값 처리 문제, 외부 서비스 장애 등 여러 원인에서 생길 수 있다.
버그는 단순히 프로그램이 멈추는 문제만을 뜻하지 않는다. 계산 결과가 조금씩 틀리거나, 특정 사용자에게만 기능이 보이지 않거나, 보조기술에서 버튼 이름이 읽히지 않는 문제도 버그가 될 수 있다.
원인
버그는 보통 다음과 같은 지점에서 발생한다.
- 요구사항을 잘못 이해한 경우
- 입력값이나 예외 상황을 충분히 고려하지 않은 경우
- 코드 변경이 다른 기능에 예상하지 못한 영향을 준 경우
- 운영체제, 브라우저, 기기, 네트워크 환경 차이를 놓친 경우
- 사용자 인터페이스와 실제 기능의 연결이 어긋난 경우
접근성 버그
접근성 버그는 기능은 겉으로 동작하는 것처럼 보이지만, 특정 사용자에게는 사용할 수 없는 상태를 만든다. 예를 들어 버튼에 접근 가능한 이름이 없거나, 키보드 초점이 보이지 않거나, 오류 메시지가 화면 읽기 프로그램에 전달되지 않는 경우이다.
이런 버그는 자동 검사 도구만으로 모두 잡히지 않는다. 실제 보조기술, 키보드 조작, 확대 환경, 저시력 사용자와 시각장애인 사용자의 흐름을 함께 확인해야 한다.
