파이어맨 이야기



결함을 발견하는 것은 소프트웨어 테스트 라이프사이클에서 매우 중요한 부분입니다. 


일반적인 수준에서 결함 생명주기의 관점에서 중요한 것의 하나는 결함 추적하는 것입니다. 이 것이 중요한 이유는 하나의 소프트웨어를 테스트가 여러 다른 소프트웨어와 의존하는 복잡한 환경이고 테스트 팀은 여러 결함을 등록하기 때문입니다. 이러한 경우, 이러한 결함을 종료하기 위해 분석하고 관리하는 것은 어렵습니다.


결함 유지 프로세스와 함께, 테스터가 이슈를 제현하기 위해서 결함의 방법 및 설명을 같이 등록하여, 그 테스터는 결함의 정확한 분류에 도움이 되는 일부 범주 정보를 주어야 합니다. 이것은 효과적인 결함 추적 및 유지 프로세스에 도움을 지고, 결함을 빠르게 처리하기 위한 기초가 됩니다. 


효과적인 결함 추적 및 해결을 위한 기초에는 두가지 주요 항목이 있습니다. 


결함 우선순위

결함 심각도



종종 이 주 개념에 대해서 혼란스러운 경우가 있는데 개발팀과 테스트팀사이에서 같은 의미로 사용됩니다. 


우선순위는 2개를 비교해서 더 중요성을 부여하는 것으로 결함의 우선순위는 결함이 급하게 고쳐야 하는 이슈를 말합니다


심각도는 바라지 않는 일의 발생에 대한 가중치에 대한 설명입니다. 결함의 심각도는  그 결함의 영향이 시스템의 관점에 어떤 효과가 있는지를 나타냅니다. 


우선순위와 심각도 레벨


우선순위

우선순위는 결함이 얼마나 빠르게 처리되어야 하는지를 결정됩니다. 만약 여러 결함이 있다면 테스터는 최종 사용자 관점에서 초기에 우선순위를 설정합니다. 


우선순위 1 - Critical : 이것은 24시간안에 즉시 수정되어야 합니다. 이 이슈가 발생하면 일반적으로 전체기능이 동작하지 않고, 어떤 테스트도 더이상 진행할 수 없습니다. 다른 경우로는, 중요한 메모리 릭있다면, 보통  그 결함은 현재 상태에서 사용할 수 없는 것으로 생각하고 이 우선순위로 분류됩니다.


우선순위 2 - High : 중요한 결함(우선순위 1)이 수정되는 동안, 이 우선순위의 결함은 종료 기준에 대한 테스트활동을 하기 위해서 수정되어야 하는 다음 후보입니다. 일반적으로 결함으로 인해 하나의 기능을 사용할 수 없을때, 그 결함은 우선순위 2로 분류될 것입니다.


우선순위 3 - Medium : 이 우선순위의 결함은 기대대로 수정되게 하기 위해서는 논쟁이 있습니다. 때때로, 심지어 실패가 발생했을 때 올바른 에러 메시지가 출력되지 않는 것과 같은 에러도 우선순위 3의 결합으로 분류될 수 있습니다. 


우선순위 4 - Low : 낮은 우선순위는 확실히 지만 그것을 종료 기준에 따라 수정하지 않아도 되는 것입니다. 그러나 이것은 GA가 릴리즈되기전까지는 수정되어야 합니다. 일반적으로 타이핑 에러나 폰트 이슈등이 여기에 분류될 수 있습니다. 때때로 낮은 우선순위의 결함은 디자인에서 일부 강화하거나 사용자 경험(UE)를 향상시기기 위해 작은 기능 구현에 대한 요청을 제안하기 위해서 열려있습니다. 



심각도 

심각도는 시스템에 결함의 의미를 나타내는 파라미터입니다. 전체시스템의 기능에 결함의 영향은 무엇이며 결함이 얼마나 치명적인지를 나타냅니다. 심각도는 테스터가 결함을 등록할때 할당되며 테스터가 제어합니다. 일반적으로 다음과 같은 심각도 레벨이 있습니다. 


치명적인 결함 (Critical, Show Stopper) : 기능이나 제품의 테스트를 완전히 방해하거나 못하게 하는 결함은 치명적(Critical) 결함입니다. 

UI 테스트의 예로 UI가 멈춰있거나, 기능이 동작하지 않거나하는 경우입니다. 또 다른 경우로 기능이 빌드 중에 빠진 경우 입니다.


주요 결함 (Major, Severe): 주요 결함은 기능이 기대와 많이 다르게 동작하거나 그 기능이 해야하는 것을 못하는 것입니다. 


예를들면, VLAN은 스위치에 배포될 필요가 있고 이 기능을 사용하기 위해서는 UI템플릿을 사용이 필요합니다. 그런데 VLAN이 구성된 이 템플릿이 스위치에서 실패할 때, 이 것은 주요 기능 장애로 분류됩니다. 


보통 결함(Moderate, Normal) : 보통 결함은 제품이나 프로그램이 특정 기준을 충족하지 못하거나 전체에 영향을 주지않는 일부 기능이 부자연스러운 행위가 발견될 때를 발생합니다. 

예를 들면, VLAN 템플릿이 위의 상황에서, 템플릿이 성공적으로 스위치에 배포되었지만, 사용자에게 거기에 대한 표시가 없을 때 보통 결함이 발생합니다.


낮음 결함(Low, Minor ) : 사소한 버그는 기능에는 영향이 없지만 그러나 여전히 수정되어야 하는 결함입니다. 

예를들면, 오타나 사용자에게 에러 메시지를 잘못 출력하는 경우입니다. 




결함의 우선순위와 심각도 설정에 대해서 


결함의 심각도는 기능의 범위내에서 발생하기 때문에, 테스트엔지니어가 결함의 심각도를 설정합니다. 

때때로 개발자가 결함의 심각도에 영향을 주기는 하지만 거의 대부분 테스터가 문제가 되는 기능에서 전체 기능에 대한 영향을 평가합니다. 


반면에, 결함의 우선순위를 결정할 때, 비록 결함의 우선순위는 등록자가 초기에 설정하지만, 그것은 제품 관리자가 특정 결함이 얼마나 빨리 해결되어야 하는지 전체적인 관점에서 재설정합니다. 



심각도와 우선순위에 대해서 실무에서 발생할 수 있는 예 


1. 테스터가 테스트 중에 제품의 이름에서 오타나 UI의 몇가지 문제 발견하였습니다. 그래서 테스터가 해당 결함을 낮음으로 등록하였습니다. 그러나 제품의 사용자 경험측면에서 그것은 심각한 영향을 줄 수 있습니다. 


2. 어떤 이슈는 고객의 환경에서는 거의 발생하지 않고 특별한 환경에서 발생하는 이슈가 있습니다. 비록 테스터가 그 이슈를 높은 우선순위로 설정하였지만, 검토 후에 해당이슈는 수정을 위해서는 높은 비용과 발생빈도가 낮은 것이 확인되어 이러한 것은 낮은 우선순위의 결함으로 분류될 수 있습니다. 


그렇기 때문에 결함의 우선순위는 제품 관리자가 "결함 선별(Defect Triage)" 회의를 통해 설정합니다. 


출처:http://www.softwaretestinghelp.com/how-to-set-defect-priority-and-severity-with-defect-triage-process/



  

공유하기

facebook twitter kakaoTalk kakaostory naver band