본문 바로가기

1. QA/1.1 Syllabus

4.2 Categories of test design techniques (테스트 설계 기법의 종류)

Terms

Black-box test, design technique, experience-based test design technique, specification-based test design technique, structure- test design technique, white-box test design technique.


Background

The Purpose of a test design technique is to identify test conditions and test cases.


It is a classic distinction to denote test techniques as black box or white box. Black-box techniques(with include specification-bases and the experience-base techniques) are a way to derive and select test conditions or test cases based on an analysis of the test basis documentation and the experience of developers, tests and users, whether functional or non-functional, for a componenet or system without reference to its internal structure. White-box techniques (also called structural or structure-based techniques) are based on an analysis of the structure of the component or system.


Some techniques fall clearly into a single category; others have elements of more than one category.

The syllabus refers to specification-based or experience-based approaches as black-box techniques and structure-based as white-box techniques.


Common features of specification-based techniques:

-    Models, either formal or informal,  are used for the specification of the problem to be solved, the software or its components.

-    From these models test cases can be derived systematically.


Common features of structure-based techniques:

-    Information about how the software is constructed is used to derive the test cases, for example, code and design.

-    The extend of coverage of the software can be measured for existing test cases, and further test cases can be derived systematically to increase coverage.


Common features of experience-based techniques:

-    The knowledge and experience of people are used to derive the test cases.

-    Knowledge of testers, developers, users and other stakeholders about the software, its usage and its environment.    

-    Knowledge about likely defects and their distribution.




테스트 설계의 목적은 테스트 조건과 테스트 케이스를 식별하기 위함이다.


테스트 기법을 블랙 박스와 화이트 박스로 구분하는 것은 전통적인 방법이다. 블랙 박스 기법(명세 기반 기법과 경험 기반 기법을 포함한)은 테스트 대상의 내부 구조(코드)를 참조하지 않고 테스트 베이시스 문서, 그리고 개발자, 테스터와 사용자들의 경험을 분석하여 기능적 혹은 비기능적인 테스트 조건과 테스트 케이스를 도출하고 선택하는 방법이다. 반면, 화이트 박스 기법(구조 기반 기법)은 컴포넌트 혹은 소프트웨어(시스템)의 내부 구조(코드) 분석에 바탕을 두고 테스트 케이스를 도출하는 방법이다.


소프트 웨어(시스템) 내부구조(코드)의 참조 여부에 따라 블랙 박스 기법과 화이트 박스 기법으로 양분하는 방법 이외에 테스트 설계의 근원(origin)을 기준으로 명세 기반 기법, 구조 기반 기법, 경험 기반 기법으로 이해하기 용이하게 분류할 수 있고, 여기서는 해당 분류에 따라 테스트 기법을 설명한다.


어떤 방식으로 분류하건 하나의 카테고리에 명확하게 해당되는 기법들도 있지만, 하나 이상의 카테고리에 속하는 기법들도 존재한다. 여기서는 명세 기반 기법과 경험 기반 기법을 블랙 박스 기법으로 보고, 구조 기반 기법을 화이트 박스 기법으로 간주한다.


명세 기반 기법의 일반적인 특징: 

-    해결할 문제를 명세하는데 공식적이거나 비공식적인 모델을 사용한다.

-    이러한 모델에서 테스트 케이스를 시스템적으로 도출하는 것이 가능하다. 


구조 기반 기법의 일반적인 특징:

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

-    개발된 테스트 케이스를 가지고 소프트웨어의 커버리지를 측정할 수 있으며, 커버리지를 높이기 위해 추가적인 케이스를 시스템적으로 도출 해낼 수 있다.


경험 기반 기법의 일반적인 특징: 

-    테스트 관련 인력의 지식이나 경험에서 테스트 케이스를 도출한다.

-    테스터, 개발자, 사용자, 그리고 소프트웨어의 사용이나 환경과 관련 된 관련자들의 지식 

-    소프트웨어의 자주 발생하는 결함이나 결함의 분포와 관련 있는 지식