I. 블랙박스, 화이트박스 테스트 개요
-. 테스트 설계 기법: 소프트웨어 테스트를 위하여 테스트 케이스와 테스트 데이터를 설계하고 명세화하는 기법
-. ISO/IEC/IEEE 29119-4에서 테스트 설계를 구조/경험/명세 기반으로 구분
-. 블랙박스 테스트 : 명세를 빠뜨리지 않고 테스트케이스화 하는 명세기반 테스트와 유사한 분야의 테스트 경험을 바탕으로 직감적으로 테스트 하는 경험기반 테스트 통칭
-. 화이트박스 테스트: 소프트웨어나 시스템의 구조를 중심으로 테스트하는 기법, 특정 커버리지를 달성하기 위한 테스트를 설계하고 케이스를 도출하기 위해 사용되는 기법
-. 설계 기법 분류
II. 블랙박스, 화이트 박스 테스트
가. 블랙박스 테스트
- 프로그램 구조를 고려하지 않고 시스템의 명세서를 기반으로 테스트케이스를 설계하여 테스트하는 기법
- 요구사항 명세서, 설계 문서 등을 기반으로 테스트 케이스를 도출, 테스트를 실행하여 중대한 결함을 발견하는 테스트 기법
- 주어진 명세(일반적으로 모델의 형태)를 바탕으로 테스트 케이스를 도출하는 것을 의미하며, 해당 테스트 케이스를 수행해서 중대한 결함이 없음을 보장하는 테스트 설계 기법
- 공식적이거나 비공식적인 명세서 또는 모델을 기반으로 테스트 케이스를 생성하는 기법
- SW 테스트 관련 국제표준(ISO/IEC 29119)에 따른 동적 소프트웨어 테스트 기법 중 명세기반 기법으로 소개된 테스트 기법은 등가분할, 분류 트리 기법, 경계값 분석, 상태 전이 테스트 등이 있음
구분 | 블랙박스 테스트 | 설명 |
명세기반기법 | 동등분할 | 입력 영역(domain)이 특정 관계에 따라 동등한 부집단으로 나뉘어 각 부집단에 대해 시험을 이룸 |
경계값 분석 | 변수의 입력 영역에 대한 경계 부근에 테스트케이스 지정. 많은 결함이 입력의 극한 값 주위에 집중되는 경향기반. 강건성(robustness) 시험은 변수의 입력 영역 바깥에서 테스트케이스를 선택하여 예상하지 못하거나 잘못된 입력에 대해 프로그램의 강건성을 검사함. | |
결정 테이블 분석 | 조건(입력)과 이에 따른 활동(출력) 간 논리적 연관성을 나타냄. 테스트케이스는 조건과 활동에 대한 모든 가능한 조합을 고려하여 추출. 이에 관계된 기법으로 원인-결과 그래프(cause-effect graph)가 있음. | |
상태 전이 테스팅 | 프로그램을 유한 상태 기계로 모델링하여, 이에 대한 상태와 변이를 다루기 위해 테스트가 선택됨 | |
유즈케이스 테스팅 | 컴포넌트/단위 레벨 유즈케이스 테스팅 시스템 레벨 유즈케이스 테스팅 |
|
페어와이즈조합 테스팅 | 2개 이상 요소의 상호작용, 최소 한번씩 조합 | |
직교배열 테스팅 | 페어와이즈 조합테스팅과 유사한 테스팅 기법이로, 차이점은 직교 배열의 각 행과 열이 페어와이즈 함 | |
경험기반기법 | 탐색적 테스팅 접근법 | 테스트 목표와 차트를 기반으로 정해진 시간 내에 테스트 설계, 수행, 기록과 학습하는 테스팅 기법 |
오류추정 | 가능한 결함을 리스트업하고 이를 발견하기 위한 케이스 작성 | |
체크리스트 | 문서 기반의 테스트 케이스를 작성시에도 체크리스트의 경험과 노하우를 반영하는 노력 요구 |
나. 화이트박스 테스트
-. 코드와 개발 설계 등의 소프트웨어 구현 정보를 기반으로 특정 커버리지를 달성하기 위해 테스트를 설계하고, 테스트 케이스를 도출하기 위해 사용되는 기법
구분 | 화이트박스 테스트 | 설명 |
단일 커버리지 | 구문 커버리지 | 모든 명령문을 적어도 한번 수행하는 테스트 케이스 |
결정 커버리지 | 전체 결정문이 적어도 한번은 참과 거짓의 결과를 수행하는 테스트 케이스 | |
조건 커버리지 | 명령문 내의 각 개별 조건식이 적어도 한번은 참과 거짓의 결과가 되도록 수행하는 테스트 케이스 | |
복합 커버리지 | 조건/결정 커버리지 | 전체 결정문 뿐만 아니라 개별 조건식도 참 한번, 거짓 한번 결과가 되도록 수행하는 테스트 케이스 |
변경 조건/결정 커버리지 | 각 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 결정문에 독립적으로 영향을 주도록 하는 테스트 케이스 | |
다중 조건 커버리지 | 모든 개별식 조건의 모든 조합을 고려한 커버리지 |
'셀테 > 2. 소프트웨어 공학' 카테고리의 다른 글
테스트 설계 (0) | 2022.10.13 |
---|---|
테스트 종류 (0) | 2022.10.13 |
테스트 프로세스 (1) | 2022.10.13 |
SW 테스트 설계 기법 (0) | 2022.07.23 |