1. 화이트박스 테스트
- 모듈의 원시 코드를 오픈시킨 상태에서 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계
- 설계된 절차에 초점을 둔 구조적 테스트
- 프로시저 설계의 제어 구조를 사용하여 테스트 케이스를 설계하며, 테스트 과정 초기에 적용
- 모듈 안의 작동을 직접 관찰
- 프로그램의 제어 구조에 따라 선택, 반복 등 분기점 부분들을 수행함으로써 논리적 경로를 제어한다
2. 화이트박스 테스트 종류
1. 기초 경로 검사(Base Path Testing) : 수행 가능한 모든 경로를 의미
- 대표적인 화이트박스 테스트
- 절차적 설계의 논리적 복잡성을 측정할 수 있게 해줌
- 테스트 결과는 실행 경로의 기초를 정의하는 데 지침으로 사용됨
2. 제어 구조 검사(Control Structure Testing)
- 조건 검사(Condition Testing) : 모듈 내에 있는 논리적 조건을 테스트하는 테스트 케이스 설계 기법
- 루프 검사(Loop Testing) : 반복 구조에 초점을 맞춰 실시하는 기법
- 데이터 흐름 검사(Data Flow Testing) : 변서의 정의와 변수 사용의 위치에 초점을 맞춰 실시하는 테스트 케이스 설계 기법
3. 화이트박스 테스트 검증 기준
1. 문장 검증 기준(Statement Coverage) - 소스 코드의 모든 구문이 한 번 이상 수행되도록 테스트 케이스 설계
2. 분기 검증 기준(Branch Coverage) - 소스 코드의 모든 조건문이 한 번 이상 수행되도록 테스트 케이스 설계
3. 조건 검증 기준(Condition Coverage) - 소스 코드의 모든 조건문에 대해 조건이 참인 경우와 불인 경우가 한 번 이상 수행되도록 설계
4. 분기/조건 기준(Branch/Condition Coverage) - 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 참/불인 경우가 한 번 이상으로 설계
검증 기준(Coverage) 종류
1. 기능 기반 커버리지 : 실제 테스트가 수행된 기능의 수 / 전체 기능의 수
2. 라인 커러비리 : 테스트 시나리오가 수행한 소스 코드의 라인 수 / 전체 소스 코드의 라인 수
3. 코드 커버리지 : 소스 코드의 구문, 분기, 조건 등의 구조 코드 자체가 얼마나 테스트 되었는지를 측정
4. 블랙박스 테스트
- aka 기능 테스트
- 요구사항 명세서를 보면서 테스트하는 것. 주로 구현된 기능을 테스트 함
- 소프트웨어 인터페이스에서 실시되는 테스트
- 부정확하거나 누락된 기능, 인터페이스 오류, 자료 구조나 외부 데이터베이스 접근에 따른 오류, 행위나 성능 오류, 초기화와 종료 오류 등을 발견하기 위해 사용
- 테스트 과정 후반에 적용
5. 블랙박스 테스트 종류
1. 동치 분할 검사(Equivalence Partitioning Testing)
- 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사
- 타당한 입력 자료와 아닌 자료를 균등하게 하여 테스트 케이스 정함
- 입력 자료에 맞는 결과가 출력되는지 확인
2. 경계값 분석(Boundary Value Analysis)
- 입력 자료에만 치중한 동치 분할 기법을 보완함
- 입력 조건의 중간값보다 경계값에서 오류 발생 확률이 높음. 따라서 경계값을 테스트 케이스로 선정 및 검사
3. 원인-효과 그래프 검사(Cause-Effect Graphing Testing)
- 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석하고 효용성이 높은 테스트 케이스를 선정 및 검사
4. 오류 예측 검사(Error Guessing)
- 과거의 경험 / 확인자의 감각으로 테스트
- 일련의 보충적 검사 기법, 데이터 확인 검사
5. 비교 검사(Comparison Testing)
- 여러 버전의 프로그램에 동일한 테스트 자료를 제공하고 동일한 결과를 출력하는지 테스트
'Study > 정보처리기사' 카테고리의 다른 글
057 통합 테스트 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
---|---|
056 개발 단계에 따른 애플리케이션 테스트 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
054 애플리케이션 테스트의 분류 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
053 애플리케이션 테스트 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
052 빌드 자동화 도구 - 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |