화이트박스테스트
-개념:개발된 source코드를 중심으로 프로그램 내부 로직상의 어류 검증, 모든 경로를 테스트
-특징:개발자관점, 구조테스트, Logic-Driven, 모듈테스트
-테스트기법:기조경로검사(제어흐름도, 순환복잡도), 제어구조검사(Condition Testing, Loop Testing, DataFlow Testing)
블랙박스테스트
-개념:source코드를 보지 않고 목적코드를 수행시켜가면서 결함을 발견하는 내부구조를 고려하지 않는 테스트 기법, Program 명세(기능 및 인터페이스)로 부터 직접 테스트
-특징:기능테스트, Data-Driven테스트, I/O Driven 테스트
-테스트기법:동등(균등)분할기법, 경계값 분석기법, 원인-결과 그래프 분석, 오류예측기법
블랙박스 테스트 기법(명세기반)
-동등분할 기법:프로그램의 입력 도메인을 테스트 케이스가 산출 될 수 있는 데이터의 클래스로 분류하는 방법, 다양한 입력조건들을 갖춘 시험사례 유형들을 분할:상식적 경험에 의존(heuristic)
각 시험사례 유형마다 최소의 시험사례 작성
예)입력데이타가 값의 범위를 나타낼 때 : X값이 0~100 사이여야 한다면 시험 사례를 (X<0, (x=0), X(x>100)으로 분할하여 유형을 적용
-경계값분석기법:입력조건의 중간값에서 보다 경계값에서 에러가 발생될 확률이 높다는 점을 이용하여 이를 실행하는 테스트 케이스를 만드는 방법
예)x값이 0~100사이 여야한다면 시험사례를 (x=0), (x=100), (x=-0.01), (x=100.1)을 시험사례 유형을 정의
-오류예측기법(Error Guessing):각 시험기법들이 놓치기 쉬운 오류들을 감각 및 경험으로 찾아보는 것, 예)입력값 없이 Return 친다, 문법에 어긋난 입력을 시험
-원인-결과 그래프 기법(Cause-Effect Graphing)
동등분할과 경계값 분석 기법의 단점은 입력환경의 복잡성을 완전히 고려할 수 없음
입력데이터 간의 관계가 출력에 영향을 미치는 상황을 체계적으로 분석하여 효용성 높은 시험사레를 발견하고자 원인-결과 그래프 기법을 제안