본문 바로가기
정보처리기사

화이트박스 테스트(White Box Test). 블랙 박스 테스트(Black Box Test)

by mooyou 2021. 5. 12.
728x90
300x250

 

 

 

 

moo-you.tistory.com/201

 

애플리케이션 테스트 분류

어플리케이션 테스트 어플리케이션에 잠재되어있는 결함을 찾아내는 일련의 행위 또는 절차 우리가 사용하는 모든 컴퓨터는 발견만 못했을 뿐이지 버그가 있기 마련이다. 그렇기 때문에 어플

moo-you.tistory.com

어플리케이션 테스트 분류 참고

 

 

어플리케이션 테스트를 분류하는 방법중

프로그램 실행 여부에 따른 테스트를

정적 테스트와 동적 테스트로 나뉜다고 했는데

동적테스트는 실행을 직접 하면서 오류를 찾는 방식이고

동적테스트의 종류는 화이트 박스 테스트, 블랙박스 테스트가 있다.

여기에 대해서 더 자세히 알아보자

 

화이트박스 테스트(White Box Test)

초기에 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트해서 테스트 케이스(항목)을 설계하는 방식

모듈 안의 작동을 직접 관찰 할 수 있고 Source Code의 모든 문장을 한 번 이상 실행함으로써 수행된다.

 

 

 

화이트박스 테스트의 종류

기초 경로 검사
(Base Path Testing)
테스트 케이스의 설계자가 코드의 복잡성을 측정할 수 있게 해주는 테스트 기법
대표적인 화이트박스 테스트 기법이다.
제어 구조 검사
(Control Structure Testing)
논리적 조건, 반복구조, 데이터의 흐름을 테스트 한다.
- 조건 검사 (Condition Testing) : 프로그램 모듈내에 논리적 조건을 테스트 하는 테스트 케이스 설계기법
- 반복 검사(Loop Testing) : 반복구조에 초점을 맞춰 실시하는 테스트 설계기법 
- 데이터 흐름 검사 (Data Flow Testing) : 실제 사용자들이 입력하는 갑들을 변수에 넣을때 변수 정의와 변수 사용 위치를 어떻게 했는지 초점을 맞춰서 테스트하는 설계 기법

 

화이트 박스 테스트의 검증 기준

문장 검증 기준
(Statement Coverage)
소스 코드의 모든 구문을 한 번 이상 수행 되도록 항목 설계
분기 검증 기준
(Branch Coverage)
소스 코드의 모든 조건문을 한 번 이상 수행되도록 항목 설계
조건 검증 기준
(Condition Coverage)
소스 코드의 모든 조건문의 참, 거짓을 각 한번 이상 수행되도록 항목 설계
분기/조건 기준
(Branch/Condition Coverage)
소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 참, 거짓인 경우 각각을 한 번 이상 수행되도록 항목 설계

 

 


 

블랙 박스 테스트(Black Box Test)

화이트박스와 다르게 안에 원시 코드는 안보인다. 그래서 코드를 대상으로 하는 것이 아니라 각 기능을 대상으로 완전히 작동 되는가를 입증하는 테스트로 기능 테스트라고도 한다.

사용자의 요구사항 명세를 보면씩 하나씩 테스트를 한다.

주로 구현된 기능을 소프트웨어 인터페이스를 통해서 테스트 한다.

 

 

블랙박스 테스트의 종류

동치분할 테스트
(=동치 클래스 분해)
(Equivalence Partitioning Testing)
정상적인 입력자료와 비정상 적인 입력자료의 개수를 균등하게 해서 테스트 케이스를 정하고 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 기법
동등 분할 기법이라고도 한다.
ex)어떤 값이 입력되었을때 예상되는 결과값을 테스트케이스로 잡고 실제로 테스트 했을때 예상되는 결과값이 나오는지 확인하는것
경계값 분석
(Boundry Value Analysis)
입력 조건의 중간값 보다 경계값에서 오류발생 확률이 높기 때문에 경계값을 테스트 케이스로 선정하여 검사하는 기법
원인-효과 그래프 검사
(Cause-Effect Graphing Testing)
여러 입출력 데이터를 분석해서 영향을 미치는 상황을 체계적으로 분석한 다음 효율성이 높은 테스트 케이스를 선정하는 기법
오류 예측 검사
(Error Guessing)
과거의 경험이나 확인자의 감각으로 테스트
비교 검사
(Comparison Testing)
동일한 테스트 케이스를 여러 버전의 프로그램에 적용하여 동일한 결과가 출력되는지 비교하는 테스팅 기법

 

728x90
반응형

댓글