1. 화이트박스 테스트 (White Box Test)
- 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트
- 설계된 절차에 초점
- 프로시터 설계의 제어 구조를 사용하여 테스트 케이스 설계
- 테스트 과정의 초기에 적용
- 모듈 안의 작동을 직접 관찰
- 원시 코드(모듈)의 모든 문장을 한 번 이상 실행함으로써 수행됨
- 제어 구조에 따라 선택, 반복 등 분기점 부분들을 수행함으로써 논리적 경로를 제어
2. ⭐ 화이트박스 테스트의 종류
1) 기초 경로 검사 (Base Path Testing)
- 대표적인 화이트박스 테스트 기법
- 절차적 설계의 논리적 복잡성을 측정할 수 있게 함
- 측정 결과는 실행 경로의 기초를 정의하는데 지침으로 사용됨
2) 제어 구조 검사 (Control Structure Testing)
- 조건 검사(Condition Testing) : 모듈 내에 있는 논리적 조건을 테스트
- 루프 검사(Loop Testing) : 반복(Loop)구조에 초점을 맞춰 실시
- 데이터 흐름 검사(Data Flow Testing) : 변수 정의와 변수 사용 위치에 초점을 맞춰 실시
3. 화이트박스 테스트의 검증 기준
1) 문장 검증 기준 (Statement Coverage)
- 모든 구문이 한 번 이상 수행되도록 테스트 케이스 설계
2) 분기 검증 기준 (Branch Converage) = 결정 검증 기준 (Decision Coverage)
- 모든 조건문에 대해 조건이 True인 경우, False인 경우가 한 번 이상 수행되도록 테스트 케이스 설계
3) 조검 검증 기준 (Condition Coverage)
- 조건문에 포함된 개별 조건식의 결과가 True인 경우, False인 경우가 한 번 이상 수행되도록 테스트 케이스 설계
4) 분기/조건 기준 (Branch/Condition Coverage)
- 분기 검증 기준과 조건 검증 기준 모두 만족하는 설계
- 조건문이 True인 경우, False인 경우에 따라 조건 검증 기준의 입력 데이터를 구분하는 테스트 케이스 설계
💡 검증 기준(Coverage) 종류
- 기능 기반 커버리지 : 실제 테스트가 수행된 기능 수 / 전체 기능 수
- 라인 커버리지(Line Coverage) : 테스트 시나리오가 수행한 코드 라인 수 / 전체 코드 라인 수
- 코드 커버리지(Code Coverage) : 코드의 구문, 분기, 조건 등의 구조 코드 자체가 얼마나 테스트 되었는지 측정하는 방법 => 화이트박스 검증 모두 해당
4. 블랙박스 테스트 (Black Box Test) = 기능 테스트
- 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트
- 프로그램 구조를 고려하지 않음
- 프로그램 또는 모듈의 요구나 명세를 기초로 결정
- 인터페이스에서 실시되는 테스트
- 부정확하거나 누락된 기능, 인터페이스 오류, 자료 구조나 외부 DB 접근에 따른 오류, 행위나 성능 오류, 초기화와 종료 오류 등 발견하기 위해 사용
- 테스트 과정의 후반부에 적용
5. ⭐ 블랙박스 테스트의 종류
1) 동치 분할 검사 (Equivalence Partitioning Testing, 동치 클래스 분해)
- 입력 자료에 초점을 맞춰 테스트 케이스(동치 클래스)를 만들고 검사하는 방법 = 동등 분할 기법
- 입력 조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 설정하고 해당 입력 자료에 맞는 결과가 출력되는지 확인
2) 경계값 분석 (Boundary Value Analysis)
- 입력 자료에만 치중한 동치 분할 기법을 보완
- 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용해 입력 조건의 경계값을 테스트 케이스로 선정하여 검사
3) 원인-효과 그래프 검사 (Cause-Effect Graphing Testing)
- 입력 데이터 간의관계와 출력에 영향을 미치는 상황을 체계적으로 분석 후, 효용성이 높은 테스트 케이스를 선정하여 검사
4) 오류 예측 검사 (Error Guseeing)
- 과거 경험이나 확인자의 감각으로 테스트
- 다른 블랙박스 테스트 기법으로 찾아낼 수 없는 오류를 찾아내는 일련의 보충적 검사 기법 = 데이터 확인 검사
5) 비교 검사 (Comparision Testing)
- 여러 버전의 프로그램에 동일한 테스트 자료를 제공해 동일한 결과가 출력되는지 테스트
📖 Reference
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 058. ⭐ 통합 테스트 (0) | 2024.07.05 |
---|---|
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 057. ⭐ 개발 단계에 따른 애플리케이션 테스트 (0) | 2024.07.05 |
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 055. 애플리케이션 테스트의 분류 (0) | 2024.07.05 |
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 054. ⭐ 애플리케이션 테스트 (0) | 2024.07.02 |
[2과목 소프트웨어 개발] 제품 소프트웨어 패키징 - 053. 빌드 자동화 도구 (0) | 2024.07.01 |