※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
화이트박스 테스트(White Box Test)
화이트박스 테스트는 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법입니다.
- 화이트박스 테스트는 설계된 절차에 초점을 둔 구조적 테스트로 프로시저 설계의 제어 구조를 사용하여 테스트 케이스를 설계하며, 테스트 과정의 초기에 적용됩니다.
- 모듈 안의 작동을 직접 관찰합니다.
- 원시 코드(모듈)의 모든 문장을 한 번 이상 실행함으로써 수행됩니다.
- 프로그램의 제어 구조에 따라 선택, 반복 등의 분기점 부분들을 수행함으로써 논리적 경로를 제어합니다.
화이트박스 테스트의 종류
화이트 박스 테스트의 종류에는 기초 경로 검사, 제어 구조 검사 등이 있습니다.
※ 기초 경로
기초 경로(Base Path = Basis Path)는 수행 가능한 모든 경로를 의미합니다.
화이트박스 테스트의 검증 기준
화이트박스 테스트의 검증 기준은 테스트 케이스들이 테스트에 얼마나 적정한지를 판단하는 기준으로, 문장 검증 기준, 분기 검증 기준, 분기/조건 기준이 있습니다.
검증 기준(Coverage)의 종류
검증 기준의 종류에는 크게 기능 기반 커버리지, 라인 커버리지, 코드 커버리지가 있으며, 화이트박스 테스트에서 사용되는 문장 검증 기준, 분기 검증 기준 등은 모두 코드 커버리지에 해당합니다.
- 기능 기반 커버리지 : 실제 테스트가 수행된 기능의 수 / 전체 기능의 수
- 라인 커버리지(Line Coverage) : 테스트 시나리오가 수행한 소스 코드의 라인 수 / 전체 소스 코드와 라인 수
- 코드 커버리지(Code Coverage) : 소스 코드의 구문, 분기, 조건 등의 구조 코드 자체가 얼마나 테스트 되었는지를 측정하는 방법
블랙박스 테스트(Black Box Test)
블랙박스 테스트는 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전하게 작동되는 것을 입증하는 테스트로, 기능 테스트라고도 합니다.
- 사용자의 요구사항 명세를 보면서 테스트하는 것으로, 주로 구현된 기능을 테스트합니다.
- 소프트웨어 인터페이스에서 실시되는 테스트입니다.
- 부정확하거나 누락된 기능, 인터페이스 오류, 자료 구조나 외부 데이터베이스 접근에 따른 오류, 행위나 성능 오류, 초기화의 종료 오류 등을 발견하기 위해 사용되며, 테스트 과정의 후반부에 적용됩니다.
- 블랙박스 테스트의 종류에는 동치 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사 등이 있습니다.
블랙박스 테스트의 종류
예제
A 애플리케이션에서 평가점수에 따른 성적부여 기준이 다음과 같을 때, 동치 분할 검사와 경계값 분석의 테스트 케이스를 확인해봅니다.
평가 정수 | 성적 |
90 ~ 100 | A |
80 ~ 89 | B |
70 ~ 79 | C |
0 ~ 69 | D |
<동치 분할 검사>
테스트 케이스 | 1 | 2 | 3 | 4 |
입력값 | 60 | 75 | 82 | 96 |
예상 결과값 | D | C | B | A |
실제 결과값 | D | C | B | A |
동치 분할 검사는 입력 자료에 초점을 맞춰 테스트 케이스를 만들어 검사하므로 평가점수를 입력한 후 점수에 맞는 성적이 출력되는지 확인합니다.
<경계값 분석>
테스트 케이스 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
입력 값 | -1 | 0 | 69 | 70 | 79 | 80 | 89 | 90 | 100 | 101 |
예상 결과 값 | 오류 | D | D | C | C | B | B | A | A | 오류 |
실제 결과 값 | 오류 | D | D | C | C | B | B | A | A | 오류 |
경계값 분석은 입력 조건의 경계값을 테스트 케이스로 선정하여 검사하므로 평가점수의 경계값에 해당하는 점수를 입력한 후 올바른 성적이 출력되는지 확인합니다.
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 테스트 및 배포 - 통합 테스트 (0) | 2024.07.23 |
---|---|
정보처리산업기사 - 테스트 및 배포 - 개발 단계에 따른 애플리케이션 테스트 (0) | 2024.07.22 |
정보처리산업기사 - 테스트 및 배포 - 애플리케이션 테스트의 종류 (0) | 2024.07.20 |
정보처리산업기사 - 테스트 및 배포 - 애플리케이션 테스트 (0) | 2024.07.19 |
정보처리산업기사 - 테스트 및 배포 - 개발 지원 도구 (0) | 2024.07.18 |