PM으로 성장하기/개발 공부

테스트 케이스, 테스트 레벨, 테스트 유형, 결함 심각도별 분류

고양이 고씨 2023. 7. 2. 22:16

테스트 케이스

요구사항에 준수하는지 확인하기 위해 입력값, 실행 조건, 예상된 결과의 집합이다. 테스트 케이스에는 식별자(고유하게 식별하기 위한 항목 식별자), 테스트항목(테스트 모듈에 대한 간략한 내용), 입력명세(테스트 실행 시 입력할 값 및 조건), 출력명세(실행 시 기대되는 결과), 환경설정(테스트 수행 시의 환경), 특수절차요구(수행 시 요구되는 절차), 의존성을 포함한다.

 

테스트 레벨

- 단위 테스트: 사용자 요구사항에 대한 단위 모듈을 테스트한다. 자료구조, 인터페이스, 외부 I/O, 오류 처리 등을 테스트한다.

- 통합 테스트: 단위 테스트를 통과한 컴포넌트의 인터페이스를 테스트한다. 

- 시스템 테스트: 개발 프로젝트 차원에서 정의된 전체 시스템에 대해 테스트한다. 기능 뿐 아니라 성능, 보안, 메뉴 구조 등의 비기능적인 테스트도 수행한다.

- 인수 테스트: 계약 상 요구사항이 만족되었는지 확인하기 위해 테스트한다. 알파 테스트, 베타 테스트가 이에 해당한다.

 

테스트 유형(블랙박스 테스트 한정)

- 동등 분할 테스트: 입력 데이터의 유효값과 무효값을 그룹핑하여 대표값으로 테스트를 한다

- 경계값 테스트: 경계값을 포함하여 최소값 바로 위, 최대치 바로 아래 등의 테스트를 한다

- 결정 테이블 테스트: 요구사항의 논리와 발생 조건을 테이블 형태로 나열하여 조건과 행위를 모두 테스트한다

- 상태 전이 테스트: 테스트 대상이나 객체의 상태를 구분하여, 이벤트에 의해 상태가 변경되는 경우의 수를 테스트한다

- 유스케이스 테스트: 시스템이 실제 사용되는 유스케이스를 기반으로 프로세스 흐름을 테스트한다

- 분류 트리 테스트: 트리 구조로 분석 및 표현하여 테스트 케이스를 설계한다

- 페어와이즈 테스트: 테스트 데이터 간의 최소 한 번씩 조합하여 테스트한다

- 원인-결과 그래프 테스트: 그래프를 활용하여 입력데이터 간의 관계와 출력의 영향을 분석하여, 효용성이 높은 케이스를 선정하여 테스트한다

- 비교테스트: 여러 버전의 프로그램에 같은 입력값을 넣어서 동일한 결과가 나오는지 테스트한다

- 오류 추정 테스트: 개발자가 범할 수 잇는 실수를 추정하여 결험이 검출되도록 테스트를 한다

 

결함 심각도별 분류

- 치명적(Critical): 기능이나 제품의 테스트를 오나전히 방해하고 못하게 하는 결함(데이터 손실, 시스템 충돌)

- 주요(Major): 기대한 결과와 많이 다르게 작동하거나 기능을 하지 못함(기능 장애)

- 보통(Normal): 특정 기준을 충족하지는 못하나 전체에 영향을 주지않는 일부 부자연스러운 결함(사소한 기능 오작동)

- 경미한(Minor): 사용성의 불편함을 유발(UI 잘림현상 등)

- 단순(Simple): 사소한 버그로 기능에 영향은 없으나 수정되어야 함(미관상 좋지 않은 것)