문제 분류¶
BeeWare는 문제를 겪고 있는 사용자들로부터 정기적으로 이슈 보고서를 접수합니다. 새로운 이슈가 보고되면 해당 보고서는 트라이징이 필요합니다. 즉, 누군가가 보고서를 읽고, 보고자가 제공한 정보를 바탕으로 설명된 문제를 재현해 보아야 합니다.
안타깝게도 문제 보고서는 대개 선의에서 비롯되지만, 종종 불완전하거나 혼란스러운 경우가 많습니다. 분류 과정의 목적은 원본 보고서의 부족한 부분을 보완하는 데 있습니다. 이는 문제를 재현할 수 있는 방법을 확인할 수 있을 만큼 충분한 세부 정보를 생성하거나, 원본 보고자가 보고 내용에 오해가 있었음을 확인하는 것을 의미합니다.
이슈를 분류하는 것이 반드시 해결해야 한다는 의미는 아닙니다. 이슈에 따라 분류 작업에는 코드 작성조차 필요하지 않을 수 있습니다. 보고서에 포함된 단계를 따라가고 설명된 이슈를 재현할 수 있다면, BeeWare에 대한 지식이 거의 없어도 이슈를 분류할 수 있습니다.
이슈 분류 작업 기여¶
문제를 재현하십시오
문제가 존재하지 않는다면 해결할 수도 없습니다. 따라서 문제를 재현하는 것은 해결의 전제 조건입니다. 소프트웨어 분야에서 문제는 일반적으로 "버그"이라 불리며, 이슈는 흔히 "버그 리포트"라고 합니다.
누군가 버그 보고서를 제출했습니다. 보고자가 설명한 단계가 실제로 보고된 버그를 발생시키는지 확인해야 합니다. 보고서에 정확히 기술된 대로 수행했을 때 동일한 결과를 재현할 수 있습니까? 재현할 수 없다면 그 이유를 파악해야 합니다.
코드 내 버그¶
이상적인 상황에서는 버그를 보고한 사람과 동일한 환경을 갖추고, 해당 단계를 따라가며, 설명된 대로 버그를 재현할 수 있을 것입니다. 하지만 대부분의 경우 그렇게 간단하지 않습니다. 많은 버그 보고서는 모호한 설명과 불분명한 조건만 포함합니다. 문제는 많은 버그가 관련된 조건 집합에 따라 달라진다는 점입니다. 여기에는 상호작용 방식, 다양한 전제 조건, 운영 체제, 운영 체제 버전, CPU 아키텍처, 사용자의 컴퓨터가 오래되고 느린지 새롭고 빠른지 등이 포함됩니다. 버그를 둘러싼 상황에 대한 정보가 많을수록 좋습니다. 보고자가 제시한 조건 집합을 재현해 보십시오. 재현이 불가능하다면, 다음 단계로 버그를 보고한 사람에게 추가 정보를 요청해야 할 수 있습니다.
버그를 재현하는 가장 좋은 방법은 문제를 여전히 보여주는 최소한의 예제를 사용하는 것입니다. 대부분의 경우 보고자들은 최소한의 실행 가능한 예제를 제공하지 않습니다. 만약 그들이 어떤 예제를 제공하더라도, 그것은 그들의 "실제 환경" 애플리케이션에서 직접 복사한 것일 것입니다. 보고서를 문제 현상이 나타나는 가장 단순한 형태로 축소하는 것이 목표입니다. 재현 사례는 가능한 한 최소한의 프로그램이어야 합니다. 이러한 축소 과정 자체가 실제 문제점을 규명하는 데 도움이 됩니다. 누구나 최소한의 예제를 가져와 실행하면 보고된 버그를 관찰할 수 있습니다.
문서상의 오류¶
문서상의 버그는 다양한 형태로 나타날 수 있습니다. 서식 문제로 인해 렌더링 오류가 발생할 수 있습니다. 때로는 버그가 아닌 경우도 있습니다. 작성자가 문서를 잘못 읽었거나 단순한 실수를 했을 수 있습니다. 그렇다고 해서 문서 자체에 문제가 없다는 뜻은 아닙니다. 내용이 불명확하거나 부정확하여 혼란이나 오해의 여지를 남길 수 있습니다. 설명되어야 할 개념이 문서화되지 않아 누락된 경우도 있습니다.
문서화 문제에 대한 버그가 등록되면, 보고된 문제가 실제로 여전히 존재하는지 확인해야 합니다. 렌더링 문제의 경우, 문서를 빌드하여 문제를 재현할 수 있는지 확인해야 합니다. 콘텐츠 문제는 아무도 업데이트를 제출하지 않았는지 확인하기 위해 읽어보는 문제입니다.
이슈 업데이트¶
트라이아지 프로세스의 마지막 단계는 이슈에 코멘트를 남김으로써 발견 사항을 문서화하는 것입니다.
문제를 정확히 재현할 수 있다면, 그 사실만 전달하시면 됩니다. 원본 보고자가 설명한 방식과 정확히 동일하게 동일한 문제가 발생함을 확인했다는 내용의 댓글을 남겨주세요.
추가적인 맥락을 제공할 수 있다면 해당 맥락에 대한 세부 사항을 포함하십시오. 여기에는 다른 운영 체제에서 문제를 재현할 수 있는지, 관련 소프트웨어의 다른 버전에서 재현 가능한지, 또는 원래 보고와 다른 모든 사항이 포함될 수 있습니다.
원본 보고서에 재현에 필요한 세부 사항이 누락된 경우, 해당 세부 사항을 포함하십시오. 여기에는 원본 보고서에 명시되지 않은 운영 체제 또는 버전 정보, 보다 완전한 로그나 스택 추적 정보, 문제 재현에 필요한 정확한 작업 순서에 대한 명확한 지침 등이 포함될 수 있습니다. 문제를 재현하는 더 간단한 방법을 개발한 경우(또는 원본 보고자가 재현 사례를 제공하지 않은 경우), 해당 재현 방법론에 대한 세부 사항을 포함할 수 있습니다.
문제를 재현할 수 없다면, 시도한 내용을 상세히 기술하여 댓글을 남겨주세요. 문제가 존재하지 않는 곳을 아는 것은 문제가 존재하는 곳을 아는 것만큼 중요합니다. 이는 가능한 원인을 좁히는 데 도움이 되기 때문입니다. 문제를 재현할 수 없는 이유에 대한 가설이 있다면(예: 사용법 오류라고 생각하거나 최근 운영체제 업데이트로 해결되었다고 판단하는 경우) 해당 추측도 댓글에 포함해 주세요.
마지막으로, 핵심 팀에 제안할 사항이 있다면 알려주시기 바랍니다. 원본 보고서에 오류가 있다고 생각되면 해당 이슈를 종료할 것을 제안하시고, 이슈의 원인에 대한 가설이 있다면 그 역시 제안하실 수 있습니다. 여러분의 의견은 핵심 팀이 해당 이슈를 다음 단계로 진행하는 방법을 모색하는 데 도움이 될 것입니다.