ISTQB 1.4 테스트 프로세스의 기초
1-4. 테스트 프로세스의 기초
1. 테스트 프로세스
- 테스팅 관련 활동이 체계적으로 진행되어 의도된 테스트 목적과 목표를 달성할 수 있도록 테스팅의 구성 요소를 엮어주는 역할
- 테스트 베이시스: 계획 단계부터 필요 설계 시 반드시 요구
- 테스트 조직: 계획 단계부터 필요, 실행 단계에서 다수 인력 필요
- 테스트 전략
- 테스트 기법: 분석 및 설계 단계에서 필요
- 태스트 대상: SW는 가장 이른 시기 준비, 늦어도 실행 단계엔 필수
- 테스트 기반 설비 및 환경: 실행 단계 전에 구축
- 체계적으로 발견한 결함과 관련 정보를 바탕으로
정량적(수치적)
으로 개발 프로젝트에 조언(분석한 리스크
)을 제공
2. 테스트 계획과 제어(통제)
- 주요 활동
- 테스트 목적/목표 및 대상 연구
- 테스트 전략 개발
- 테스트 완료 조건의 결정
- 테스트를 추정
- 테스트 조직 구성
- 테스트 계획 활동
- 테스트 관리 및 제어
- 리포팅
- 테스트 제어
- 계획 대비 실제 진행 상황을 비교하는 지속적인 활동
- 계획과의 차이 확인(지속적 모니터링)
- 제어 작업
- 테스트 결과에 대한 측정과 분석
- 테스트 진척사항, 완료조건의 모니터링과 문서화
- 테스트 계획과의 차이 교정
- 테스팅의 진행과 변경에 대한 의사 결정 활동
- 테스팅 계획은 테스팅의 제어와 모니터링 활동으로부터 받은 피드백을 반영
3. 테스트 분석과 설계
- 일반적이고 추상적인 테스팅 목적을 실제적이고 구체적인 테스 트 상황과 테스트 케이스로 변환하는 활동
- 주요 작업
- 테스트 베이시스 리뷰(가장 기초 문서-요구사항 명세서, 설계 계획서 등)
- 테스트 상황 / 테스트 케이스 / 필요한 테스트 데이터 식별
- 테스트 케이스 설계와 우선순위 선정
- 테스트 기법 할당
- 테스트 용이성 평가
- 테스트 환경 구축(실제 환경과 동일)
- 필요한 도구 식별
4. 테스트 구현과 실행
- 테스트 케이스를 조합하고 테스트 실행에 필요한 다른 정보를 포함하는 테스트 프로시저 또는 테스트 스크립트를 명세화
- 테스트에 필요한 환경이 구축되어야 함
- 주요 작업
- 테스트 케이스 개발, 구현과 우선순위 설정
- 자동화 테스트 스크립트 작성
- 테스트 하네스(harnesses) 준비(환경)
- 효율적인 테스트 실행을 위해 테스트 수트(테스트 케이스 묶음) 생성
- 선행 테스트
- 테스팅 실행(결과 기록 – 식별과 버전관리)
- 기대 결과와 비교(예상 결과와 실제 결과 간의 차이에서 오는 불일치를 인시던트(incidents) 또는 결함으로 보고)
- 불일치 원인 파악
- 예상과 실제의 불일치
- 테스트 케이스 결함
- 테스트 정황 결함
- 어플리케이션 결함
- 불일치를 조치한 결과를 확인하기 위한 테스트 활동 반복
- 수정이 되었는지 테스트 실행(확인(confirmation) 테스팅)
- 수정으로 새로운 버그가 발생하지 않았는지 테스트 실행(회귀 테스팅(regression testing))
- 결함의 유형
- 기획 시 유입된 결함: 요구사항의 표준 미준수, 테스트 불가능 등
- 설계 시 유입된 결함: 설계의 표준 미준수, 테스트 불가능 등
- 코딩 시 유입된 결함: 코드의 표준 미준수 등
- 테스트 부족으로 유입된 결함
- 마무리 부족
- 팀간 의사소통 부족
- 코딩 실수
- 결함 심각도에 따른 결함 유형
- 치명적 결함, 매우 심각, 심각, 보통, 경미 (4단계)
- 치명적 결함, 주요 결함, 일반 결함, 사소한 결함, 개선사항(5단계)
- 결함 유형으로 부적절한 경우
- Major, Minor, Trifle(Minor를 결함의 심각도가 낮은 것으로 인식 가능)
- A, B, C(어느 것이 결함이 높은 것인지 알 수 없음)
- 결함의 우선순위 표현(즉시 해결, 주의 요망, 대기, 낮은 순위 )
5. 테스트 완료 조건과 리포팅
- 테스트 완료조건의 평가
- 초기 목표 대비 완료조건의 달성 여부 확인(95% 만족시)
- 테스트 레벨에 따라 다 수행 함
- 완료 조건 작업
- 테스트 실행 결과인 테스트 로그가 테스트 계획에 명시된 완료 조건을 만족하는지 확인
- 추가 테스트 필요 여부 및 명세화된 테스트 완료 조건 변경 여부
- 이해관계자들에게 배포할 테스트 요약 보고서 작성
- 리포팅에 표현되는 내용
- 발견된 결함과 미해결된 결함의 추이 및 우선순위
- 테스트 진척도
- 리스크 및 메트릭으로 실증된 조건
- 테스트 환경의 가용성(다음에 사용 가능한지)
- 테스트 커버리지 결함 발견 효율성/효과성
- 품질 평가 결과 결함상태별 결함수
- 소프트웨어 사이즈 대비 결함수
- 요구사항별 테스트 일수
- 해결되지 않은 결함과 영향 및 오래 수정되지 않은 결함
6. 테스트 마감 활동
- 산출물 확인, 테스트웨어(산출물) 보관(다음 프로젝트를 위해)
- 테스트 프로세스 평가 심사
- 주요 활동
- 테스트 결과 마감(예정된 산출물, 인시턴트 레포트 종료, 해결되지 않은 요구사항에 대한 처리, 시스템 인수에 대한 문서화 등)
- 테스트웨어, 테스트환경, 테스트기반설비를 차후에 사용위해 마감, 보관
- 테스트웨어를 유지보수 조직에 이관
- 테스트 프로세스 심사 및 개선 사항
- 이후 릴리즈나 프로젝트, 테스트 성숙도의 개선에 지침이 될 수 있도록 테스트 프로젝트를 통해 얻은 교훈을 분석
2020-2022, KHS0616 Revision
38c209f