화이트박스 기법_구조 기반 기법
컴포넌트 또는 소프트웨어의 구조를 중심으로 테스트케이스 도출
구조 기반 기법 특징:
- 코드와 개발 설계 등 소프트웨어 구현 정보를 기반으로 테스트 케이스 도출
- 테스트 커버리지 측정 가능, 커버리지를 높이기 위해 테스트 케이스를 시스템적으로 도출해 추가 가능
- 특정 커버리지를 달성하기 위해 테스트를 설계하고 테스트 케이스를 도출하기 위해 사용됨
테스트 커버리지
- 스템 및 소프트웨어에 대해 충분히 테스트가 되었는지를 나타내는 정도
- 모든것을 테스트하는데 어려움으로 적절한 수로 테스트 하기 위해 활용

1. 구문 테스팅과 커버리지
- 테스트 스위트에 의해 실행된 구문이 몇 퍼센트인지 측정
- 특정 구문을 테스트하는 테스트 케이스를 도출
- 코드의 모든 구문를 실행할 수 있는 입력값이나 이벤트 등의 테스트데이터를 제공해 주면 달성됨
- 보장성이 낮은 커버리지
2. 결정 테스팅과 커버리지
- 테스트 스위트에 의해 실행된 조건문 분기가 전체 가능한 분기의 몇 퍼센트인지 측정
- 결정 포인트 내의 전체조건식이 참/거짓의 모든 값을 갖게 되어 모든 분기로 흐르게 되면 달성됨
- 제어 흐름 테스팅의 한가지 형태
3. 조건 테스팅과 커버리지
- 결정 포인트 내에 있는 개개의 개별조건식이 참/거짓의 모든 값을 갖게 되면 달성됨
4. 조건/결정 커버리지
- 전체 조건식 및 개별조건식이 참/거짓 이 되는 경우를 모두 수행 하도록 설계
5. 변형 조건/ 결정 커버리지 (MC/DC)
- 각 개별조건식이 다른 개별조건식에 영향을 받지 않고 전체조건식의 결과에 독립적으로 영향을 주도록 함
- 조건/결정 커버리지를 향상시킨것
- 전체 조합 테스트가 불가능해 가능한 의미 있게 조합의 수를 줄여 테스트하자
- 최소 테스트 케이스 수=N(개별조건식 개수)+1
- 장점: 높은 결함 검출 확률을 가지며 도출되는 케이스가 적음
- 단점: 케이스 도출 복잡
6. 다중 조건 커버리지
- 결정 포인트 내에 있는 모든 개별조건식의 모든 가능한 논리적인 조합을 고려한 강력한 커버리지
- 장점: 개별 조건식의 모든 조합을 도출
- 단점: 개벌 조건식의 개수가 증가할수록 도출되는 케이스가 많아짐
테스트 기법 별 구분
- 제어 흐름 테스트
- 프로그램의 제어 흐름을 이용
- 프로그램의 모든 가능한 경로를 테스트
- 코드의 모든 부분이 적어도 한 번은 실행, 모든 결정 지점이 제대로 작동하는지 보장
- 구조에 대한 충분한 이해가 필요
-
기본 경로 테스트
-
최소 비교 테스트
- 테스트케이스 수 최소화하며 합리적인 커버리지 보장
- MC/DC 커버리지를 기반으로 최적화돈 분기 도출