how reproduce non reproducible defect
세계에서 소프트웨어 테스트 , 일단 발견 된 결함은 일관되게 재현 가능해야 테스터가 확신을 가지고보고 할 수 있고 개발자는 명확하게 수정할 수 있으며 QA 팀은 확신을 가지고 마감 할 수 있습니다.
파이썬 맥을위한 최고의 텍스트 편집기
그러나이 프로세스에는 때때로 자체적 인 문제가 있습니다. 이 기사는 결함 재현의 어두운 영역을 조명하려고합니다.
먼저“ 결함 재현 '?
특정 일련의 단계가 예상되는 동작의 편차가 관찰되는 지점에 테스터를 도달 한 경우 '재현 할 단계'는이 정확한 단계 시퀀스의 기록을 포함하는 결함 필드입니다. 동일한 문제가 발생하면 이러한 단계를 따를 때마다이를 재현 가능한 결함이라고합니다.
사용 된 데이터와 같은 더 많은 증거를 재현하는 단계 외에도 스크린 샷 또는 화면 녹화 비디오도 제공 할 수 있습니다. 이 정보가 일치하지 않거나 부정확 한 것으로 확인되면 추가 해결없이 버그가 할인되고 유효하지 않은 것으로 표시 될 수 있습니다.
더 읽어보기 => '유효하지 않은 버그'라벨없이 모든 버그를 해결하는 방법은 무엇입니까?
따라서 '재현하는 단계'는 매우 중요하며 다음은 결함 보고서의이 부분을 작성할 때 염두에 두어야 할 몇 가지 사항입니다.
학습 내용 :
결함 '재현 단계'를 작성하는 방법 :
- 정확하라
- 쉽게 참조 할 수 있도록 테스트 중에 사용 된 정확한 데이터 포함
- 단계는 정확한 순서 여야합니다.
- 해당되는 경우 전제 조건 언급
- 복합 단계를 작성하지 마십시오.예를 들면: 시나리오에서 사용자가 Microsoft Word에서 문서를 저장해야하는 경우 '파일 메뉴를 열고 저장 옵션을 클릭하십시오.'와 같이 작성해야합니다.
- 모든 쿠키와 캐시 메모리를 지우고 새 시스템에서 재현하려면 항상 단계를 다시 확인하십시오.
- 문장이 짧고 명확해야합니다.
잘못 작성된 '재현 단계'는 결함의 타당성을 위태롭게 할뿐만 아니라 명확하게 언급되지 않은 사항에 대한 설명과 답변을 찾는 데 많은 시간을 낭비합니다.
또한 읽기 => 좋은 결함 보고서를 작성하는 방법
테스트 인터뷰 질문의 소프트웨어 엔지니어
결함 재현이 왜 그렇게 중요한가요?
이제 '결함 재현이 왜 그렇게 중요한가요?'에 대해 알아 보겠습니다.
기술적으로 말하면 버그를 재현 할 수없고 수정할 수 없습니다. .
다음은 결함이 수정되었는지 여부를 결정하는 몇 가지 요인입니다.
- 결함 보고서의 상세하고 완전한 정보
- 개발자가 특정 조건에서 실제 결함 발생을 이해할 수 있다면?
- 테스터가 결함을보고 한 개발자가 환경, 도구 및 정확한 애플리케이션 버전을 사용할 수있는 경우?
'재현 불가능'버그 / 결함이란 무엇입니까?
모든 테스터는 다음 상황을 경험해야합니다.
- 하루 종일 문제를 관찰하고 결함을보고 한 하루가 끝날 때 더 이상 재현 할 수 없음을 알게됩니다.
- 예를 들어 새로운 사용자가 장바구니에 제품을 추가 할 수 없다고 가정하여 간헐적으로 문제를 관찰합니다. 이것은 10 번 중 6 번 발생합니다.
- 응용 프로그램을 다시 시작할 때만 문제가 관찰되었습니다.
이 모든 경우에 정확한 상태를 확인하고 올바르게보고하는 것은 어렵습니다. 이러한 문제 / 결함은 조사에 많은 시간이 걸립니다. 이러한 유형의 문제는 최종 사용자 / 고객도 관찰 할 수 있으므로 무시할 수 없습니다.
결함을 재현하는 방법?
도움이 될 수있는 몇 가지 사항은 다음과 같습니다.
네트워크의 기본 게이트웨이를 교체했습니다.
- 모든 캐시를 지우고 쿠키 시나리오를 수행하는 동안.
- 모든 단계를보고 관찰하십시오.
- 때때로 유사한 버그 나 패턴을 찾는 것이 버그 재현에 도움이 될 수 있습니다. 패턴이 이해되면 시나리오를 식별하는 것이 더 쉬울 것입니다.
- 각 단계 및 기타 요소 (테스트 데이터, 환경, 시스템 설정, 스크린 샷, 서버 로그 등)를 기록하는 것은 시나리오를 쉽게 복제하는 좋은 방법입니다.
- 몇 번 더 확인하여 결함 발생을 판별하십시오. 한 번의 문제 발생을 기준으로 더 이상 신뢰하고보고하지 마십시오.
- 인내심을 가지고 테스트하는 것이 핵심 요소입니다.
추가적으로 :
- 당신이있을 때도 탐색 적 테스트 수행 , 모든 구성과 시스템 설정을 알고 있는지 확인하십시오.
- 창의력을 발휘하여 다양한 방식으로 응용 프로그램을 탐색하고 몇 가지 특이한 시나리오를 시도하는 것이 좋습니다. 이 경우에도 임의의 단계를 수행하는 것보다 논리적 순서를 따르는 것이 좋습니다.
- 문제가 관찰되면 항상 다른 브라우저 / 운영 체제 조합, 다른 장치 (지원됨)에서 동일한 문제를 확인하는 것이 좋습니다. 이는 문제가 시스템 또는 브라우저 특정 / 장치 특정인지 판별하는 데 도움이됩니다.
- 다양한 유형의 문제와 그 발생에 대한 새로운 트렌드와 포럼을 통해 최신 정보를 얻으십시오. 이는 시스템 별, 브라우저 별, 제품 별, 외부 문제 등을 차별화하는 데 도움이됩니다.
- 한 번 발생한 문제를 계속 재현하려고하는 대신 가끔 앉아서 수행 한 단계를 분석하면 해결책을 찾는 데 도움이 될 수 있습니다.
- 다른 팀원들과 논의 또는 관리자가 때때로 도움이 될 수 있습니다. 또한 속담이 있습니다. 경험의 중요성 .
- 화면을 공유하는 것은 개발자에게 문제를 설명하기 위해 스크린 샷과 비디오를 제외하고 옵션으로 고려할 수도 있습니다.
- 문제 발생을 확인하기 위해 문제를 두 번 이상 재현합니다. 이러한 경우 테스트에 확신을 갖고 개발자의 질문과 우려 사항에 답할 수 있습니다.
결론:
전반적인 논의를 통해 해당 버그의 유효성을 검사하고 수정하기 위해서는 '버그 재현'이 매우 중요하다는 결론을 내릴 수 있습니다. 버그를 재현 할 수없는 경우 특정 버그 / 결함을 찾고 분석하고보고하는 데 사용되는 테스트 노력은 전체 낭비입니다.
버그를 이해하고 재현하기 위해서는 '재현 단계', 버그가 발생한 상태 및 환경을 자세하고 적절하게 설명하는 것이 필수적입니다. 재현 불가능한 결함을 고칠 수는 있지만 매우 어려운 작업뿐만 아니라 소비하는 데 매우 시간이 걸릴 수 있습니다. 또 다른 가장 중요한 요소는 유효한 버그가 무효화 될 수있는 적절한 통신입니다.
따라서 그만한 가치가있는 결함을 찾는 데 테스트 노력을 기울이려면 위에서 언급 한 것이 도움이 될 수 있습니다.