1. 화이트 박스 테스트 (White Box Test)
화이트 박스 테스트
는 모듈의 원시 코드를 오픈시킨 상태에서 코드의 논리적 모든 경로를 테스트 하는 방법이다.- Source Code의 모든 문장을 한 번 이상 수행하여 모듈 안의 작동을 직접 관찰할 수 있다.
- 산출물의 기능별로 적절한 프로그램의 제어 구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
- 테스트 테이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(Dynamic Test)에 해당한다.
1-1. 화이트 박스 테스트 종류
기초 경로 검사 (Basic Path Testing)
: 기초 경로는 수행 가능한 모든 경로를 의미하며, Mocabe의 순환 복잡도를 사용하여 선형 독립 경로 수를 결정한 다음 얻어진 각 경로에 대한 테스트 사례를 생성한다.제어 구조 검사
조건 검사
: 프로그램 내에 있는 논리적 조건을 테스트하는 테스트 케이스 설계 기법루프 검사
: 프로그램의 반복 구조에 초점을 맞춰 실시하는 테스트 케이스 설계 기법데이터 흐름 검사
: 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞춰 실시하는 테스트 케이스 설계 기법
1-2. 화이트박스 테스트를 통해 찾을 수 있는 오류
- 세부적 오류
- 논리 구조상의 오류
- 반복문 오류
- 수행 경로 오류
- 알고리즘 오류에 따른 원치 않는 결과
- 탈출구가 없는 반복문의 사용
- 틀린 계산 수식에 의한 잘못된 결과
1-3. 화이트 박스 테스트 검증 기준
문장
검증 기준분기
검증 기준조건
검증 기준분기 / 조건
기준
2. 블랙박스 테스트 (Black Box Test)
블랙박스 테스트(Black Box Test)
는 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트로 기능 테스트라고도한다. 즉, 입력값과 출력값만을 확인하는 테스트이다.
2-1. 블랙박스 테스트 종류
동치분할검사 (Equvialence Partitioning)
: 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법원인-효과 그래프 검사 (Cause and Effect Graphing)
: 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석오류 예측 검사 (Error Forecast)
: 과거의 경험이나 감각으로 테스트하는 기법이며, 보충적 검사기법이다.비교검사 (Comparison Testing)
: 동일한 테스트 자료를 여러 버전의 프로그램에 입력하여 동일한 결과가 출력되는지 테스트하는 기법경계값 분석 (Boundary Value Analysis)
: 입력 조건 경계값에서 오류 발생확률이 크다는 것을 활용하여 경계값을 테스트 케이스로 선정하여 검사
2-2. 블랙박스 테스트를 통해 찾을 수 있는 오류
- 인터페이스 오류
- 자료 구조상의 오류
- 성능 오류
- 시작과 종결상의 오류
- 부정확하거나 빠진 오류
- 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
- 정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
- 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우