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 Test |
White Box Test |
정의 |
모듈사양서를 기초로 입력/출력 조건 등 모든 기능면의 테스트 |
모듈 사양서 소스코드를 기초로 모듈의 논리 테스트 |
관점 |
사용자 관점 |
개발자 관점 |
기준 |
인터페이스 및 성능 오류 |
논리상 오류 |
V&V |
상위 레벨 (사용자 환경) |
하위 레벨 (시험 환경) |
대상 |
시작/종료/인터페이스 결함 |
루프, Decision 결함, 비수행 구문 |
기법 |
동등 분할, 경계값분석 등 |
루프, 제어구조 테스트 |
활용 |
베타 테스트 |
알파 테스트 |
출처
http://blog.skby.net/%EB%B8%94%EB%9E%99%EB%B0%95%EC%8A%A4-%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%99%94%EC%9D%B4%ED%8A%B8%EB%B0%95%EC%8A%A4-%ED%85%8C%EC%8A%A4%ED%8A%B8/