화이트 박스 검사

제품의 내부 요소들이 명세서에 따라 수행되고 충분히 실행되는가를 보장하기 위한 검사

기초 경로 검사(Basic Path Test), 조건 검사(Condition Test), 데이터 흐름 검사(Data Flow Test), 루프 검사(Loop Test) 등 사용



 

블랙 박스 검사

제품이 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 검사

동치 분할 검사(Equivalence Partitioning Testing), 경계값 분석(Boundary Value Analysis), 원인 효과 그래픽 기법(Cause Effect Graphic Technique), 비교 검사(Comparison Testing) 등 사용




블랙 박스 테스트의 정의 
 
 블랙 박스 테스트는 기능 테스트라고 부릅니다. 요구 분석서에 기술된 기능을  수행하는지 검사하는 테스트이기 때문입니다.  
 블랙 박스 테스트에서는 모듈의 외형을 검사합니다. 즉, 모듈의 입력과 출력, 모듈이 수행하는 기능을 테스트합니다. 
 블랙 박스 테스트는 모듈을 위한 요구사항 점검으로부터 시작됩니다. 
 테스트 사례가 모든 가능한 입력과 출력을 만족시켜야 합니다.  
 
 블랙 박스 테스트는 모듈이 요구에 맞게 잘 작동하는가에 초점을 맞춘 테스트 방법입니다.


블랙 박스 테스트의 방법

동치분해기법 
입력 조건이 여러 개의 동치 클래스로 나뉩니다. 각 동치 클래스는 서로 같은 부류에 속할 수 있는 자료의 집합입니다.
테스트 사례는 동치 클래스에서 대표되는 하나의 값을 선택한 것입니다.
이 값으로 테스트하여 이상이 없으면 같은 부류에 속하는 다른 자료 값에 대해서도 이상이 없는 것으로 간주합니다. 이렇게 하여 테스트 사례의 숫자를 줄이는 것이 동치분해의 목적입니다.

경계 테스트 방법

보통 자료 값의 범위에서 경계에 있는 값이 오류를 유발하는 경우가 많습니다. 따라서 경계 테스트는 범위 밖에 있는 값과 경계에 있는 값으로 테스트해 보는 방법입니다.


화이트 박스 테스트의 정의 
 
 블랙 박스 테스트는 외부적으로 모듈을 보았을 때 개발자가 의도한 결과를 생성하는 가에 대해서만 판단할 수 있습니다. 이때 문제가 발생한 모듈에 대해서는 문제의 원인이 어디서 발생하였는지 판단하며, 이러한 일을 수행하기 위해서는 모듈 내부 흐름 하나하나를 판단하여 보아야 합니다.  
 화이트 박스 테스트는 코드 분석과 프로그램 구조에 대한 지식을 바탕으로 문제가 발생할 가능성이 있는 모듈 내부를 테스트하는 방법입니다.
 
 화이트 박스 테스트는 구조 테스트(structural test)라고도 하며 내부의 내용을 살펴본다는 의미로 유리박스 테스트(glass box test)라고도 합니다
 
 화이트 박스 테스트의 일반적인 테스트 방법으로 경로 테스트(path test)를 사용합니다. 경로 테스트의 목적은 구성 요소들 사이에 상호 독립적인 경로를 모두 수행하여 봄으로써 잠재적인 오류를 찾아내는데 있습니다. 프로그램내의 모든 독립적인 경로를 수행하게 함으로써 프로그램 내에 존재하는 모든 경로를 탐색하여 볼 수 있게 되며, 일반적으로는 사용되지 않는 조합에서 발생할 수 있는 오류들도  검출할 수 있습니다. 
 
 아래 그림은 프로그램을 구조적으로 모형화 한 흐름 그래프(flow graph)입니다.  
사각형은 판단을 나타내는 노드이며, 화살표는 제어 흐름을 나타냅니다. 그림에서 보듯이 화이트 박스 테스트는 각 노드간에 모든 경로의 수를 다 살펴봅니다. 

+ Recent posts