본문 바로가기
CSTS (일반등급)

CSTS 11장 테스트 프로세스 개요

by record2840 2025. 5. 22.

전체 소프트웨어 개발 프로젝트에서 테스트가 차지하는 비중이 상당하다

조직 테스트 프로세스  (기억, 구분)
조직 전체에 공통적으로 적용되는 조직 테스트 명세서를 개발 관리
조직 테스트 명세서 = 조직 테스트 정책 명세서 + 조직 테스트 전략 명세서

테스트 관리 프로세스
조직 테스트 프로세스를 기반으로 테스트 프로젝트의 수행을 관리하기 위한 프로세스

동적 테스트 프로세스
동적 테스트를 수행하기 위한 활동

조직 테스트 프로세스 활동
조직 테스트 명세 개발
조직 테스트 목표를 바탕으로 조직 테스트 정책 명세서 및 조직 테스트 전략 명세서를 개발한다.
조직 테스트 명세 활용 모니터링 및 제어
조직 테스트 명세서가 조직 내에서 효과적으로 활용되는지를 모니터링하고 필요하면 테스트 관리 활동을 제어한다.
조직 테스트 명세 갱신
조직 테스트 명세서의 활용에 대한 피드백을 바탕으로 조직 테스트 명세서를 개선한다.

조직 테스트 정책 명세서
최상위 수준의 명세서. 조직 차원의 테스트 목적과 원칙을 정의하며
테스트를 수행하는 구체적인 방법은 언급하지 않는다.
> 테스트 목적, 테스트 프로세스, 테스트 조직 및 역할, 테스트 표준, 테스트 자산관리, 테스트 프로세서 개선

조직 테스트 전략 명세서
조직에서 수행할 테스트 프로젝트에 대한 기본적인 지침을 정의
테스트 정책 명세서에 제시된 테스트 목적, 테스트 프로세스, 테스트 조직 및 역할, 테스트 표준 등을 바탕으로 테스트를 수행하기 위한 구체적인 방법을 정의

조직 테스트 전략 = 프로젝트 수준의 전략 + 개별 테스트 수준의 전략

프로젝트 수준의 전략
, , 시 등 특정 테스트 레벨과 성능 테스트, 신뢰성 테스트 등의 특정한 유형 테스트에 국한되지 않는 여러 개별 테스트에 공통적으로 적용될 수 있는 항목을 정의
) 위험 관리, 테스트 선택 및 우선순위, 테스트 문서화, 형상관리, 결함관리, 자동화 도구

개별 테스트 수준의 전략
각각의 구체적인 테스트에 적용하는 전략
개별 테스트 = 레벨 테스트 + 유형 테스트

개별 테스트 수준의 전략 중 하나로 테스트 시작 및 종료 조건이 있다.
또한 테스트 독립성, 테스트 문서화, 테스트 설계 기법, 테스트 환경 및 테스트 데이터, 재테스팅 및 리그레션 테스팅, 테스트 메트릭, 그리고 테스트 완료 기준이 있다.

 

조직 테스트 명세 활용 모니터링 및 제어

개발된 조직 테스트 명세서는 실제 수행되는 테스트 프로세스에서 활용, 해당 테스트 프로세스 수행의 기본 지침으로 사용
효과적이고 효율적인 테스트를 수행할 수 있도록 조직 테스트 명세서를 지속적으로 갱신해야 한다.

조직 테스트 정책은 조직 차원의 테스트 목적과 원칙을 정의한다.
테스트를 수행하는 구체적인 방법은 조직 테스트 전략에서 정의된다.

조직 테스트 정책 항목 (외우기)
테스트 목적
테스트 프로세스
테스트 조직 및 역할
테스트 표준
테스트 자산 관리
테스트 프로세스 개선


도메인별 테스트 관련 표준 외
자동차 ISO 26262-6
항공기 DO-178C
철도 IEC 62279

그 외 관련 표준 (명확히 외우기)
품질 모델 ISO/IEC 25010
품질 측정 ISO/IEC 25023
품질 보증 IEEE Std 730 , IEEE Std. 1012 : 각각 품질 보증 프로세스와 V&V 에 대한 표준을 정의한다.
위험 관리 ISO/IEC 16085
☞  외운 방법
모델 10명이 와서
허리를 측정했는데 23인치였다. 

기출문제에 ISO 번호 묻는 것이 있어서 이렇게 외웠습니다.

 

테스트를 수행할 때 마련한 테스트 환경, 테스트 케이스, 테스트 절차 등은 리그레션 테스팅을 수행할 때 재사용될 수 있도록 자산으로 관리하는 것이 바람직하다

테스트 활동을 수행한 이후에는 수행된 테스트 프로세스를 평가하고 지속적으로 개선하기 위해 노력해야 한다.
테스트 프로세스는 2가지 방법으로 평가될 수 있다.
테스트 케이스 기반 평가 : 개발된  테스트 케이스가 결함을 검출하면 테스트 프로세스는 우수하다.
결함 기반 평가 : 테스트를 통해서 많은 수의 결함을 검출하면 테스트 프로세스는 우수하다

 

프로젝트 수준의 조직 테스트 전략 항목

항목 설명
위험 관리  테스트를 진행하면서 수행할 위험 관리 방법을 명시한다.
테스트 선택 및 우선순위 우선 순위를 부여하고 이를 바탕으로 테스트를 선택하는 방법을 명시한다.
테스트 문서화 테스트를 수행하면서 작성할 산출물을 명시한다.
형상 관리 테스트 산출물에 대한 형상 관리 방법을 명시한다.
결함 관리 검출된 결함을 종결시킬 때까지의 관리 방법을 명시한다.
자동화 도구 테스트 활동을 자동화하기 위한 도구들을 명시한다.
수행 개별 테스트 레벨 테스트 및 유형 테스트 등 수행할 개별 테스트를 명시한다.


위험 관리
시간과 비용이 한정된 상황에서 최대의 성과를 달성하기 위해서는 효율적인 방식으로 테스트를 수행해야 한다.
-
결함이 존재할 가능성과 해당 결함이 발생 시 미칠 수 있는 영향의 크기를 고려해서 일부 컴포넌트를 대상으로 테스트를 수행하는 편이 바람직하다.
테스트 대상의 모든 요구사항이 아니라 문제가 있을 가능성이 큰 일부 기능을 대상으로 테스트를 수행하는 것이 바람직.
-
대표 활동 : 위험 분석, 위험 조치 수행, 위험 모니터링

위험 분석
먼저 위험 요소를 식별하고 각 위험 요소에 대하여 발생 가능성과 영향도를 바탕으로 위험도를 산정한다.
위험도 산정 →  위험 평가

위험 조치 수행
-
위험 회피:
-
위험 완화
-
위험 전가
-
위험 수용


비상계획 :
 
조치 작업이 필요하다고 평가된 각 위험에 대해서 비상 계획을 수립한다. 비상 계획은 위험 회피, 위험 완화, 위험 전가 조치가 불가능하거나 실패하여 위험 요소가 발생한 경우에 취할 조치를 의미한다.

 

위험 모니터링
모든 위험 요소는 추적할 필요가 없을 때까지 지속적으로 모니터링 되어야 한다.

 

테스트 선택 및 우선 순위
테스트를 효과적으로 효율적으로 수행하기 위해서는 수많은 테스트 케이스 및 테스트 절차의 중요도를 바탕으로 우선순위를 부여하고 이 우선순위에 따라서 테스트 케이스 및 테스트 절차를 선택할 필요가 있다.


-
피처 집합의 우선순위: 피처 집합은 유사한 피처이면서 동일한 방법으로 테스트 될 수 있는 피처의 그룹을 의미한다. 피처 집합은 테스트 설계 및 실행의 단위이다.


-
테스트 케이스의 우선순위 : 각 테스트 케이스를 통해서 확인되는 구체적인 기능의 중요도를 고려하여 각 테스트 케이스에 우선순위를 부여할 필요가 있다.


-
테스트 절차의 우선순위 : 각 테스트 절차는 중요도에 따라서 우선순위가 부여되어 있다.

 

결함관리
결함 생명 주기 (외우기, 빈칸 넣기)
OPEN
Review →  Assigned →  Resolved →  Verified →  Closed  ( O . R. A. R. V. C. )

 

수행 개별 테스트 예시

순서 개별 테스트 목적
1 컴포넌트 테스트 시스템을 구성하는 각 컴포넌트의 기능에 대한 테스트를 수행
2 통합 테스트 컴포넌트 간의 연결에 대한 테스트를 수행
3 시스템 테스트 요구사항 명세서를 바탕으로 시스템 전체의 기능에 대한 테스트를 수행함
4 신뢰성 테스트 컴 통 시 수준에서 신뢰성에 초점을 둔 테스트를 수행
5 성능 테스트 컴 통 시 수준에서 성능에 초점을 둔 테스트를 수행
6 보안 테스트 시스템 수준에서 보안에 초점을 둔 테스트를 수행
7 인수 테스트 사용자 환경에서 사용자 중심으로 기능, 성능, 신뢰성, 보안에 초점을 둔 테스트를 수행

 

개별 테스트 수준의 조직 테스트 전략 항목 

항목 설명
테스트 독립성 기술적, 관리적, 재정적 측면에서 테스트 활동의 독립성을 기술한다.
테스트 문서화 개별 테스트 수준에서 수행되는 테스트 활동을 통하여 생성되는 산출물을 정의한다.
테스트 시작 및 종료 조건 동적 테스트 활동을 시작하기 위하여 만족되어야 하는 조건과 테스트 활동의 수행을 종료할 수 있는 조건을 정의한다.
테스트 설계 기법 개별 테스트에 적용할 테스트 설계 기법을 결정한다.
테스트 환경 및 테스트 데이터 개별 테스트 수행을 위하여 필요한 테스트 환경과 테스트 데이터를 기술한다.
재테스팅 및 리그레션 테스닝 재테스팅 및 리그레션 테스트를 수행하는 방법을 정의한다.
테스트 매트릭 개별 테스트 수행 현황을 모니터링하기 위하여 측정할 매트릭을 정의한다.
테스트 완료 기준 테스트 대상에 대한 테스트 완료 여부를 판단할 수 있는 객관적인 수준을 정의한다.

 

테스트 독립성의 관점

관점 설명
기술적 독립성 개발에 참여하지 않는 인력이 테스트를 수행하며, 개발 조직과 다른 테스트 조직 고유의 도구를 사용한다. 개발 조직과 도구를 공유하는 경우 Qualification 테스트를 수행한다.
관리적 독립성 테스트 대상, 범위, 전략, 일정 등을 개발 조직 및 프로그램 관리 조직의 영향 없이 독자적으로 수립하고 진행 상황을 아무 제약 없이 프로그램 관리 조직에 보고할 수 있다.
재정적 독립성 개발 조직과 독립적으로 테스트에 예산이 투입될 수 있다.
, 개발 예산 부족이 테스트 활동의 수행에 영향을 주지 않는다.

 

개별 테스트 수준에서의 문서화 전략

프로세스 산출물
테스트 관리 프로세스 테스트 계획서
테스트 현황 보고서
테스트 종료 보고서
동적 테스트 프로세스 테스트 설계 명세서
테스트 케이스 명세서
테스트 절차 명세서
테스트 환경 요건 명세서
테스트 데이터 요건 명세서
테스트 환경 준비 명세서
테스트 데이터 준비 보고서
테스트 실행 로그
결함 보고서
결함 추적 보고서
정적 테스트 프로세스 리뷰 보고서
정적 분석 보고서

 

동적 테스트 설계 기법 ()

동적 테스트 유형 설계 기법
명세 기반 테스트 동등 분할
분류 트리 기법
경계값 분석
신택스 테스트
조합 테스트
상태 전이테스트
인과 그래핑
결정표 테스트
시나리오 테스트
구조 기반 테스트 문장 테스트
결정 테스트
조건 테스트
결정/조건 테스트
다중조건 테스트
변경 조건/결정 테스트(MCDC)
기본 경로 테스트
경험 기반 테스트 오류 추정
탐색적 테스트

 

테스트 메트릭
테스트 현황을 정량적으로 파악하여 테스트의 진척도 및 시스템의 품질을 객관적으로 판단하기 위해 수집하는 측정 항목을 말한다.
테스트 메트릭은 테스트 완료 기준으로도 사용된다.

반응형