문제의 배경: 잡히기 힘든, 변동성이 큰 버그는 오래전부터 테스트 엔지니어들에게 골칫거리입니다. 이러한 버그는 항상 발생하지 않으며, 종종 잘못 문서화되어 재현 및 분석이 어려워지고, 결과적으로 수정이 복잡해집니다.
문제:
간헐적 버그의 주요 문제는 명확한 재현 시나리오를 설정할 수 없다는 것입니다. 대부분 불안정한 환경, 응답 시간, 데이터 동기화 오류 또는 여러 사용자 간의 충돌 때문일 수 있습니다. 개발자는 안정적으로 잡히지 않는 문제를 해결하기 어렵습니다. 테스터가 동반 조건을 문서화하지 않으면 버그는 해결되지 않은 채 남게 됩니다.
해결책:
주요 특징:
지원 엔지니어가 버그를 재현할 수 없으면 "비 버그"로 종료할 수 있나요?
아니요. 버그에 의심이 생기면 "reproducibility: low"라는 메모를 추가하여 티켓을 열어두는 것이 좋습니다. 새 데이터를 받아 업데이트합니다.
버그가 간헐적으로 발생할 경우, 항상 코드에 문제가 있나요?
아니요. 네트워크 오류, 환경 구성 문제, 오래된 브라우저 캐시, 외부 서비스의 특성, 주변 장치에서 오류가 발생할 수 있습니다.
버그를 매번 재현할 수 없다면 간헐적 버그의 우선 순위를 낮춰야 하나요?
항상 그런 것은 아닙니다. 결과가 사용자에게 심각한 영향을 미칠 수 있습니다(예: 이중 청구). 따라서 우선 순위는 비즈니스 리스크를 고려해야 합니다.
테스터가 프로파일 잠금 해제 버그를 발견했지만, 이 버그는 10회 시도 중 1회 미만으로만 나타났습니다. 문서화는 오류 스크린샷으로 제한되었고, 개발자로서 재현할 수 없었기 때문에 버그는 닫혔습니다.
장점:
단점:
테스터는 모든 조건을 신중하게 기록했습니다: 브라우저, 하루 중 시간, 로그인 방법, 짧은 비디오 및 로그를 첨부하며 개발자와 정기적으로 연락을 유지하여 안정적인 시나리오를 구축했습니다.
장점:
단점: