테스트 설계 기법의 종류

- 테스트 케이스를 계획하고 개발하는 과정에서 여러 테스트 설계 기법이 동시에 적용되는 경우가 많음


1. 소프트웨어(시스템) 내부 구조(코드) 참조 여부에 따른 구분(전통적인 기법 분류)

1) 블랙박스 테스팅(Black-Box Testing)

- 명세기간 기법과 경험 기반 기법을 포함

- 테스트 대상 내부 구조(코드)를 참조하지 않고 테스트 베이시스, 개발자와 테스터, 사용자들의 경험을 바탕으로 기능적 혹은 비기능적 테스트 케이스를 도출하고 선택하는 방법

- 명세 기반 테스팅, 입출력 테스팅이라고도 함

- 기능이 오류없이 작동하고 명세에 맞게 작동하는지를 시험하는데 많이 사용되어 기능 테스팅이라고도 함


2) 화이트박스 테스팅(White-Box Testing)

- 구조기반 기법

- 소프트 내부를 보고 필요한 정보들을 사용하기 때문에 Glass-Box Testing이라고도 함

- 컴포넌트(단위) 또는 소프트웨어(시스템)의 구조(코드)를 중심으로 테스트 케이스를 도출하는 방법


2. 테스트 설계의 근원(Origin)을 기준으로 구분

1) 명세 기반 기법

- 해결할 문제를 명세화하기 위해 공식적, 비공식적 모델 사용

- 모델에서 테스트 케이스를 시스템적으로 도출 가능

- 커버리지 측정이 가능하나 구조 기반 기법의 커버리지에 비해 제한적

(상태 전이 커버리지, 결정 테이블 커버리지, 요구사항 커버리지 등)


2) 구조 기반 기법

- 코드와 개발 설계 등의 소프트웨어 구현 정보를 기반으로 테스트 케이스를 도출

- 수행된 테스트 케이스를 바탕으로 테스트 커버리지 측정 가능

- 커버리지를 높이기 위해 테스트 케이스를 시스템적으로 도출해 추가 가능


3) 경험 기반 기법

- 테스트 관련 인력의 지식이나 경험으로 테스트 케이스 도출