-
소프트웨어 테스트 기법의 개요
-
소프트웨어 테스트 기법의 개념
- 테스트 기법들은 가능한 한 많은 잠재적 장애를 도출하고자 하는 테스트의 목적을 달성하고자 개발
- 테스트 기법 적용의 주된 원칙은 입력 도메인, 시나리오, 상태, 데이터 흐름 등을 고려하여 체계적으로 접근하는 것
-
일반적인 테스트 기법의 분류
-
화이트 박스(White-box) 테스트
- 모듈의 구조, 분기, 실행 경로 등을 테스트하는 과정
- 테스트하는 사람이 모듈의 내용을 상세히 알고 있다는 것을 전제
-
블랙 박스(Black-box) 테스트
- 테스트를 실시하는 사람이 모듈 내부에 대한 상세 지식이 없다는 것을 전제
- 프로그램 사양서로부터 가능한 모든 입력 조건(예측 가능/불가능 포함)에 대하여 테스트 케이스를 선정
- 블랙 박스 테스트와 화이트 박스 테스트의 비교
구분 |
블랙 박스 테스트 |
화이트 박스 테스트 |
제품지식 |
제품의 기능을 알고 있음 |
제품의 내부 작용을 알고 있음 |
테스트 결과 |
작동 결과를 보여줌 |
내부 로직의 맞물림을 보여줌 |
사용처 |
소프트웨어 인터페이스 |
세부적인 절차 테스트 |
테스트 항목 |
- 소프트웨어 기능 작동 여부
- 입력의 정확한 수용 여부
- 출력의 정확한 수용 여부
- 외부 정보의 무결성 유지
|
- 모듈 내 모든 경로의 1회 이상 실시 여부
- True/False의 논리적 비교
- 모든 Loop의 실행
- 내부 자료구조 조사
|
오류 형태 |
부정확/누락 기능, 인터페이스 오류, 자료구조/외부 DB 접근 오류, 성능 오류, 초기화 및 종료 오류 |
초기화 결함, 인덱싱 및 증가 결함, Loop의 경계선에 나타나는 경계 결함 |
테스트 유형 |
- 동등 집단 분할법
- 경계값 분석법
- 의사결정 테이블
- 오류 예측
|
- 루프 검사
- 데이터 흐름 검사
- 조건 검사
- 기초 경로 검사
|