* 이 글은 개발자도 알아야할 소프트웨어 테스팅 실무 제3판을 토대로 작성되었습니다.
* 책에 실린 내용 외 추가적인 정의가 있으며 교재 목차와 순서가 다소 다를 수 있습니다.
* 2차 가공 및 재배포는 금지합니다.
* 잘못된 개념 혹은 오탈자는 댓글로 알려주세요.
1. 테스트 조직
[ 테스트 조직과 독립성 ]
* 독립적인 테스팅
- 테스팅 작업은 특정 테스팅 역할을 부여받은 사람이나 다른 역할을 하는 사람도 수행
* 테스트 조직의 독립성 수준
- 테스트 요구사항과 테스트 대상 제품의 특성, 품질 수준, 프로젝트 조직 구조 등을 고려하여 적절하게 조정
- 독립성 수준이 낮은 순서 높은 순서
- 독립적인 테스트 없음
- 개발팀이나 프로젝트 팀에 속한 독립적인 개발자 테스터
- 조직 내 독립적 테스트 팀이나 프로젝트 관리자
- 비즈니스 조직 또는 사용자 커뮤니티 소속
- 조직 외부 독립적인 테스터
* 장점
- 다양한 배경, 기술적 관점, 성향이 달라 개발자와는 다른 유형의 장애를 찾음
- 이해관계자가 시스템 명세를 정의하고 구현하면서 만든 가정에 대해 확인하고 이의를 제기
* 단점
- 개발팀과의 고립으로 인한 협업 어려움
- 병목 현상 또는 출시 지연에 대한 비난
[ 테스트 리더와 테스터의 임무 ]
* 테스트 관리자의 역할과 임무
- 테스트 정책 및 테스트 전략 개발, 리뷰
- 정황을 고려한 테스트 활동과 테스트 목적과 리스크 이해를 바탕으로 테스트 활동 계획
- 테스트 계획서 작성과 업데이트
- 테스트 환경 구축에 관한 결정
- 테스트 역량과 경력 개발
* 테스터의 역할과 임무
- 테스트 계획 리뷰 및 계획 작성 참여
- 요구사항, 사용자 스토리와 인수조건, 명세, 모델의 테스트 용이성을 분석, 리뷰, 평가
- 테스트 컨디션을 식별 및 기록하고 테스트 케이스, 테스트 컨디션, 테스트 베이시스 간 추적성 설정
- 테스트 산출물 리뷰
2. 테스트 계획과 추정
[ 테스트 계획 ]
* 정의
- 테스팅 목적, 범위, 필요한 자원, 일정 수립하는 등의 업무를 수행하는 활동
* 활동 내용 ( Test planning activities )
- 개발 및 유지보수 프로젝트의 테스트 활동에 대한 전반적인 내용을 담음
- 테스팅의 범위 정의, 목적, 리스크 결정
- 전반적인 테스팅 접근법 정의
- 테스트 활동을 소프트웨어 수명주기 활동에 통합하고 조정
- 테스트 활동 예산 결정
[ 테스트 시작 조건 및 완료 조건 ]
* 시작 조건
- 테스트 가능한 요구사항, 사용자 스토리나 모델의 가용 여부
- 이전 테스트 레벨의 종료 조건을 충족한 테스트 항목의 가용 여부
- 테스트 환경 및 필요한 테스트 도구 가용 여부
- etc.
* 종료 조건
- 계획한 테스트 실행 완료
- 정의한 커버리지 수준 도달
- 해결하지 못한 결함의 수가 합의된 수보다 적음
- 추정된 결함 밀도 또는 신뢰성 측정치
- etc.
[ 테스트 추정 ( Test estimation ) ]
* 정의
- 테스트 프로세스에 관여하는 모든 작업들에 대한 비용, 노력, 기간을 결정하는 것
* 메트릭 기반 ( Metrics-based ) 접근법
- 기존 유사한 프로젝트에서 얻은 메트릭에 기반하거나 보편적인 값을 바탕으로 테스트 노력 예측
- 메트릭( metric ) : 라우팅 프로토콜들이 최적 경로를 선택하는 기준
RIP(홉카운트), EIGRP(속도, 지연..), OSPF(코스트), BGP(attribute)
* 전문가 기반 ( Expert-based ) 접근법
- 테스팅 작업의 책임자나 전문가의 경험을 기반으로 테스트 노력 예측
* 테스트 노력에 영향을 미치는 요소
- 제품 특성 : 제품 관련 리스크, 품질 특성 요구사항, 법적 규제 준수 요구사항
- 개발 프로세스 특성 : 조직의 안정성과 성숙도, 사용하는 개발 모델, 도구, 테스트 접근법
- 인력 특성 : 관련 인원의 역량과 경험, 팀 응집력과 리더십
- 테스트 결과 : 발견한 결함 수와 심각도, 필요한 재작업 규모
[ 테스트 접근법, 전략 ( Test approaches, test strategies ) ]
* 분석적
- 테스트 전략 리스크 수준에 따라 테스트를 설계하고 우선순위를 결정하는 리스크 기반 테스팅
* 모델 기반
- 테스트는 요구되는 제품의 특정 측면에 대한 모델을 기반
* 방법론적
- 사전에 정의한 테스트 셋이나 테스트 컨디션을 체계적으로 사용하는데 의존
* 프로세스 준수 ( 표준 준수 )
- 외부 규정이나 표준, 프로세스나 문서화, 테스트 베이시스의 엄격한 식별과 사용
- 조직이 강제하거나 조직에 강요된 모든 프로세스나 표준을 기반
* 전문가 조언, 자문
- 주로 이해관계자, 비즈니스 도메인 전문가, 기술 전문가 등의 조언, 지도, 지시를 바탕
- 외부 테스트 팀이나 외부 조직 소속
3. 모니터링과 제어
[ 테스트 경과 모니터링 ( Test progress monitoring ) ]
* 활동 정의
- 테스트 진행 보고서 검토, 수집된 테스트 메트릭 분석 및 내용 공유 수행 과정
* 목적
- 테스트 활동의 피드백 및 가시성 제공 후 테스트 계획 또는 정책, 전략 준수하여 테스팅 수행 여부 관찰
* 테스트 메트릭의 활용 방법
- 계획한 일정과 예산 대비 진행 상황
- 테스트 대상의 현재 품질
- 테스트 접근법의 타당성
- 목적 대비 테스트 활동의 효과
- 일반적인 테스트 메트릭 : 계획 대비 테스트 케이스 준비 작업 완료율, 실행율, 결함 정보 등
[ 테스트 리포팅 ( Test reporting ) ]
* 정의
- 테스트에 대한 정보를 요약하여 보고서를 작성하고 보고하는 활동
* 목적
- 활동 및 제품 결함 정보 요약 후 이해관계자의 의사결정을 지원할 목적
* 테스트 진행 보고서 ( Test status report )
- 테스트 계획서의 업무를 수행하는 주요 시점에 현재 상황을 보고하는 보고서
- 테스트 계획 대비 테스트 활동과 진행 사항 및 테스트 대상의 품질
- 진행을 방해하는 요소 및 다음 보고 기간에 진행하기로 계획한 테스팅
* 테스트 종료 보고서 ( Test completion report )
- 특정 테스트 유형 및 테스트 레벨이 종료되는 시점에 테스트 결과를 보고하는 보고서
- 테스트 수행 내용 요약 및 테스트 기간 도중 발생한 상황 정보
- 계획 대비 편차 및 메트릭, 잔존 리스크
[ 테스트 제어 ( Test Control ) ]
* 정의
- 진행 보고서나 수집된 메트릭을 근거로 테스트가 계획대로 수행되도록 가이드하거나 정정하는 활동
* 활동 내용
- 테스트 모니터링으로부터 얻은 정보를 기반으로 의사결정
- 프로젝트 리스트 시 테스트 우선순위 조정 및 이슈 발생 시 일정 변경
[ 테스트 완료 ( Test Completion ) ]
* 정의
- 테스트 계획서에서 계획했던 모든 항목들이 완료되면 시작하는 활동
* 목적
- 테스트 자산 및 테스트 환경 보존 및 이해관계자와의 공유
* 활동 내용
- 테스트 자산 식별 및 형상관리를 통한 보존
- 문제점 및 개선점을 찾아 교휸(Lesson Learned) 기록 및 공유, 보고
4. 형상 관리
[ 형상 관리 ]
* 목적
- 프로젝트와 제품의 수명주기에서 소프트웨어나 시스템의 산출물의 무결성을 수립하고 유지
- 산출물 : 컴포넌트, 데이터, 문서
- 테스터에게 테스트된 아이템, 문서, 테스트 하네스를 고유하게 식별하고 복사하는데 도움을 줌
* 형상 관리 지원 내용
- 테스트웨어의 모든 요소는 식별되고 버전이 제어되며, 변경사항이 추적되고 서로 연관되며, 개발 아이템과 연관되어 프로세스 전반에서 추적성이 유지될 수 있음
- 테스트 문서는 모든 식별된 문서와 소프트웨어 아이템을 명확하게 참조
- 테스트웨어 : 테스팅에 대한 계획, 설계, 실행, 평가, 보고에 활용하기 위한 목적 + 테스트 프로세스동안 생성되는 작업 산출물
- 형상 관리 사전적 의미 : 시스템 형상 요소의 기능적 특성이나 물리적 특성을 문서화하고 그들 특성의 변경을 관리하며, 변경의 과정이나 실형 상황을 기록 보고하여 지정된 요건이 충족되었다는 사실을 검증하는 것 또는 과정
5. 리스크와 테스팅
[ 리스크 ]
* 정의
- 이벤트나 위험 요소(Hazard), 위협(Threat) 발생 가능성 및 잠재적인 문제
- 바람직하지 않은 결과가 발생하고 도출되는 상황
- 참고) 레이놀즈의 리스크
- 리스크(Risk) = 장애(Failure) 가능성 X 손실(Damage)
- 장애 가능성 = 사용빈도(Frequency of use) X 결함 가능성(Chance of defect)
- 리스크 ↑ = 사용 빈도, 결함 가능성, 발생된 결함, 장애로 인한 손실 ↑
[ 프로젝트 리스크 ( Project risks ) ]
* 프로젝트 목적을 달성하기 위한 프로젝트 역량 전반에 걸쳐 관련
* 조직적인 요소
- 스킬, 교육, 인력 부족 및 사람과 관련된 이슈
- 정치적 이슈 : 테스터가 그들의 요구와 테스트 결과를 의사소통하는데 발생하는 문제
* 기술적인 이슈
- 올바른 요구사항을 정의하는데 있어서의 문제
- 설계, 코드, 테스트의 품질
* 공급자 이슈
- 공급자인 제 3자 협력업체가 역할 수행에 실패
- 계약상의 이슈
[ 제품 리스크 ( Product risks ) ]
* 의도하지 않은 향후 이벤트나 위험 요소가 존재하는 잠재적인 장애 영역 ( 제품 품질 리스크 )
- 제품 리스크 종류 : 장애 가능성이 높은 소프트웨어, 회사에 손실을 끼칠 가능성 등
* 리스크 기반 접근법
- 프로젝트의 초기화 단계에서 테스팅 시작 ( 제품 리스크 수준을 줄일 기회를 사전에 제공하기 위해 )
- 제품 리스크의 식별과 테스트 계획과 제어의 가이드, 명세서, 테스트의 준비와 실행에 적용하는 것을 포함
* 리스크 관리 방법
- 리스크 식별 → 리스크 분석 → 리스크 우선순위 결정 → 리스크 계획 활동 → 리스크 추적
- 리스크 식별 : 테스트 대상을 아이템으로 분류하고 식별 ( 아이템 : 리스크 분석 단위 )
- 리스크 분석 : 중요하고, 복잡하고, 잠재적으로 결함이 많은 부분 분석
- 리스크 우선순위 결정 : 요소별 수준 파악하는 점수 결정
- 리스크 계획 활동 : 리스크 정보를 근거로 대처 방안 수립 ( 테스트 전략 수립 )
- 리스크 추적 : 리스크 완화 활동에 대한 모니터링 및 제어
6. 인시던트 관리
[ 인시던트 관리 ( Incident managedment ) ]
* 인시던트는 발견되어 분류되는 시점부터 수정되고 확인될 때 까지 추적되어야 할 대상
* 목적
- 테스트에서 발견한 이슈에 대해 추가적으로 수행해야 할 일에 대해 보고하고 이를 추적하기 위함
- 테스트 프로세스 개선 ( Test Process improvement )에 대한 아이디어 제공
* 세부사항
- 이슈 발생 날짜, 조직 이슈, 작성자 및 기대, 실제 결과
- 소프트웨어나 시스템 생명주기 프로세스에서 발견된 인시던트의 시점
- 상태 및 결론 권고사항, 승인
- 문제를 발생시킨 테스트 케이스 명세의 식별을 포함한 참조 사항
- etc.
'IT 자격증 > ISTQB' 카테고리의 다른 글
ISTQB) Part4 테스트 설계 기법 (0) | 2020.12.23 |
---|---|
ISTQB) Part3 정적 기법 (0) | 2020.12.23 |
ISTQB) Part2. 소프트웨어 수명주기와 테스팅 (0) | 2020.12.23 |
ISTQB) Part 1. 소프트웨어 테스팅의 기초 (0) | 2020.12.23 |
댓글