|
1. 결함을 관리하는 이유
현실적으로 개발자는 정확한 결함정보를 전달 받아야 결함을 수정할 수 있고, 테스터는 개발자가 결함을 수정했는지 알아야 확인 테스트를 할 수 있다. 이 과정에 개발자와 테스터 사이에 정해진 약속(결함 처리 규칙) 이 있으면 불필요한 커뮤니케이션 낭비를 줄일 수 있다. 결함 발견부터 결함 해결까지, 전 과정을 개발자가 혼자 처리하면 결함 처리 규칙은 필요 없을지도 모른다. 하지만 결함 처리는 여러 이해관계자가 참여하는 소통 중심의 복잡한 업무다. 따라서 결함의 등록 부터 종료까지 전 과정을 추적하고 관련 정보를 공유해야 한다. 이것이 결함을 관리해야 하는 근본적인 이유다.
2. 결함관리를 통해 얻을 수 있는 것
결함 관리에서 얻을 수 있는 가장 가치 있는 정보는 '개발 및 프로세스 개선 정보'이다. 또한, 결함 정보로부터 결함 원인을 분석해 조직의 개발 취약점을 식별할 수 있고 이를 통해 결함을 예방하거나 줄일 해법을 찾을 수 있다. 테스트 중에 발견한 결함 정보는 개발 활동을 개선하고 품질을 높이는 정보로 다시 사용된다. 이는 결함을 관리 해야만 가능한 일이다.
3. 결함관리의 필요한 기본항목 3가지와 각 내용 설명
- 결함 수명 주기(defect life-cycle): 결함 관리 프로세스(defect management process)라고 하기도 함. 결함 등록에서 결함 종료까지 전 과정의 절차와 역할을 정의함(예, 결함 등록 > 결함 할당 > 결함 수정 > 수정 확인 > 결함 종료)
- 결함 관리 항목 : 결함 관리용 정보로서 기본 정보와 부가 정보로 나뉨, 결함 관리 지표와 밀접한 관계가 있으며 결함 관리 목적과 활용에 따라 결함 관리 항목을 다양하게 선정할 수 있음(예, 결함명, 결함 ID, 결함 심각도, 결함 처리 우선순위, 테스터, 수정 담당 개발자 등)
- 결함 관리 지표(metrics) : 결함 관리에서 얻은 각종 데이터를 목적에 맞게 가공한 의미 있는 정보. 결함 관리 지표는 결함 관리 항목에 영향을 받음. 새로운 결함 관리 지표가 필요하면 결함 관리 항목을 추가할 필요가 있음. 결함 관리 지표는 각종 도표나 차트 형태로 표현됨(예, 단위 모듈당 결함 수, 결함 별 평균 경과 시간, 심각도 별 결함수, 미수정 결함 수, 결함 누적 추이 등)
4. 조직에서는 결함을 어떻게 관리하고 있는지 방법을 설명
우리 조직에서는 결함을 아틀라시안이 개발한 Jira를 사용하고 있다. 워크 플로우는 커스터마이징하여 사용하고 있고 보안 이슈로 인하여 사내 네트워크에서만 접속 가능하게 사용하고 있다. 애자일 프로젝트인 경우에는 스크럼보드/칸반 보드를 사용하고 있다.
1. 소프트웨어 테스트가 필요한 이유
소프트웨어 오작동으로 금전적인 손실은 물론 시간 낭비나 사업적 이미지 손상, 심지어 상해나 사망에에 까지도 이를 수 있다. 이에 소프트웨어 품질이 곧 서비스 또는 제품의 품질이라는 인식 아래 소프트웨어 결함을 사전에 예방하고 결함을 발견하는 테스트 활동이 더욱 종요하게 되었다. 테스트는 소프트웨어 결함을 조기에 발견하고 제거해 장애를 최소화 할수 있는 가장 기본적이고 효과적인 방법이므로 소프트웨어 테스트는 필요하다.
2. 총괄테스트 계획서에 대한 내용을 자세히 설명
총괄 테스트 게획서는 식별하게된 테스트의 범위/목적, 단계, 수행방안(테스트 단계설정), 추진 체계, 산출물, 책임자, 일정(WBS) 같은 테스트 전략(이해 관계자 식별 및 참여, 리스크 식별/분석)에 대해 작성한다.
3. ISTQB에서 정의한 7가지 테스트 원리는 무엇인지 내용을 작성
- 테스팅은 결함이 존재함을 밝히는 것
테스팅은 결함이 존재함을 드러내지만 결함이 없다는것을 증명할수는 없다.
- 완벽한 테스팅은 불가능
모든 가능성/경우의 수를 테스팅 하는것은 극히 간단한 소프트웨어를 제외하고는 가능하지 않다.
- 개발 초기에 테스팅 시작
테스팅활동은 소프트웨어나 시스템 개발 수명주기에서 가능한 초기에 시작되어야 한다.
- 결함 집중
출시전의 테스팅 기간동은 적은 수의 모듈에서 대다수의 결함이 발견 되거나, 대다수의 운영상의 장애가 나타맘
- 살충제 패러독스
동일한 테스트가 반복적으로 수행된다면, 결국 동일한 테스트 케이스들로는 더 이상 새로운 버그를 찾아내지 못할 것이다.
- 테스팅은 정황에 의존적
테스티은 정황에 따라 다르게 진행된다. 예를들어 언전-최우선 소프트웨어를 테스트 하는 경우, 전자 상거래 사이트를 테스트 할때와는 다르게 진행해야 한다.
- 오류 부재의 궤변
개발된 시스템이 사용자의 필요와 기대에 부응하지 못하고 쓸모 없다면 결함을 찾고 수정하는 과정은 아무 소용 없다
4. 소프트웨어 테스트가 가진 장점은 무엇인지 학습자의 의견 1가지 작성 및 내용을 설명
소프트웨어 테스트로 인하여 소프트웨어의 품질을 확보 할수 있는 장점이 있다. 소프트웨어 오픈 이후에 결함으로 인한 금전적 손실을 줄 일수 있으며 개발자 또한 미리 호미로 막을 것을 나중에 가래로 막게 되는 상황을 피할 수 있다.
'테스트 관련 서적' 카테고리의 다른 글
소프트웨어 개발의 모든 것 - 기반시스템 (0) | 2018.09.15 |
---|---|
소프트웨어 개발과 테스트 - 통합테스트 (0) | 2018.09.14 |
소프트웨어 개발과 테스트 -소스코드 관리/빌드 (0) | 2018.09.12 |
소프트웨어 개발과 테스트 -단위 테스트 도구/테스트케이스 관리도구 (0) | 2018.09.11 |
소프트웨어 개발과 테스트 - jira (0) | 2018.09.10 |