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 결함, 비수행 구문 |
기법 | 동등 분할, 경계값분석 등 | 루프, 제어구조 테스트 |
활용 | 베타 테스트 | 알파 테스트 |
View Comments (2)
너무 아름다운 정리입니다 ㅎㅎ 감사합니다!
잘 배우고 갑니다 :)