블랙박스 테스트, 화이트박스 테스트

I. 사용자 관점의 테스트 방법, Black Box Test

가. Black Box Test의 정의

  • 사용자가 소프트웨어 또는 제품에 대한 요구사항과 결과물이 일치하는 지 확인하기 위한 테스트 기법

나. Black Box Test 기법

기법설명
동등 분할 기법
(Equivalence
Partitioning
프로그램의 입력 도메인을 테스트 케이스가 산출될 수 있는 데이터 클래스로 분류하는 방법
경계값분석기법
(Boundary
Value Analysis)
입력 조건의 중간 값보다 경계 값에서 에러가 발생 될 확률이 높다는 점을 이용하여 테스트 케이스를 생성
오류 예측 기법
(Error Guessing)
각 시험 기법들이 놓치기 쉬운 오류들을 감각 및 경험으로 찾아보는 방법
원인 결과
그래프 기법
(Cause Effect Graph)
입력 데이터 간 관계가 출력에 미치는 영향을 그래프로 표현하여 오류를 발견하도록 함
의사결정
테이블 테스팅
논리적 조건이나 상황에서 입력 조건과 결과를 참, 거짓으로 표현하여 조합을 만들고 테스트케이스를 작성
상태전이
테스팅
시스템에 반영되는 이전의 상태가 무엇인지, 상태간 전이, 상태를 변화시키는 이벤트와 입력값을 파악

 

II. 개발자 관점의 단위 테스트 방법, White Box Test

가. White Box Test의 정의

  • 개발자가 소프트웨어 또는 컴포넌트 등의 로직에 대한 테스트를 수행하기 위해 설계 단계에서 요구된 사항을 확인하는 테스트 기법

나. White Box Test 기법

기법설명검증 방법
문장 검증– 프로그램의 모든 문장이
적어도 한번씩 수행되는
검증 기준
1-2-3-4-5-6-7
위 순서로 문장 실행 시 RESULT 변수 값을 양수로 만드는 K보다 큰 수 선택
선택 검증– 선택하는 부분만 검증1-2-3-4-5-6-7과
1-2-3-4-5-6-1
경로 검증– 수행 가능한 모든 경로 검사1-2-3-4-5-6-7
1-2-3-4-5-6-1
1-2-4-5-6-7
1-2-4-5-6-1
조건 검증– IF 문장이나 While 문장 내 조건식을 조사하는 기준if(x > 1 or y < 10) 경우
x > 1 조건과 y < 10 경우
모두 테스트

 

III. Black Box와 White Box Test 비교

구분Black Box TestWhite Box Test
정의모듈사양서를 기초로 입력/출력 조건 등 모든 기능면의 테스트모듈 사양서 소스코드를 기초로
모듈의 논리 테스트
관점사용자 관점개발자 관점
기준인터페이스 및 성능 오류논리상 오류
V&V상위 레벨 (사용자 환경)하위 레벨 (시험 환경)
대상시작/종료/인터페이스 결함루프, Decision 결함, 비수행 구문
기법동등 분할, 경계값분석 등루프, 제어구조 테스트
활용베타 테스트알파 테스트

 

2 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^