소프트웨어 테스트 기법에 화이트 박스 테스트와 블랙 박스 테스트가 있습니다.
이 둘은 구분하는 기준은 정보 획득 대상으로 볼 수 있습니다.
화이트 박스 검사(White-box testing)
응용 프로그램의 내부 구조와 동작을 검사하는 테스트 방식입니다.
소프트웨어 내부 소스 코드를 테스트 하는 기법입니다.
개발자 관점의 단위 테스트 방법이라 볼 수 있다. 구현 기반 테스트라고 볼 수 있다.
개발자가 내부 소스코드 동작을 추적 할 수 있기 때문에
동작의 유효성 뿐만 아니라 코드를 꼼꼼하게 테스트 할 수 있습니다.
테스트의 종류
1. 제어 흐름 테스트 : 프로그램의 제어구조(if, case, loop)를 테스트 함
2. 데이터 흐름 테스트 : 제어 흐름 그래프에 데이터 사용 현황(정의, 소멸, 사용)을 테스트함
3. 분기 테스트
4. 경로 테스트
구조 기반 테스팅 검증 기준 (커버리지)
문장 검증 : 모든 문장이 한번씩 수행되도록 검증하는 기준
선택(분기) 검증 : 경로에서 나타나는 모든 분기점 파악
경로 검증 : 수행 가능한 모든 경로를 검사
조건 검증 : if, while문 안에 있는 조건 검사
블랙 박스 검사(Black-box testing)
소프트웨어의 내부 구조나 작동 원리를 모르는 상태에서 동작을 검사하는 방식
올바른 입력과 올바르지 않은 입력을 입력하여 올바른 출력이 나오는지 검사한다.
사용자 관점의 테스트 방법이라고 볼 수 있다. 명세 기반 테스트 방법이라 볼 수 있다.
필요한 것은 특징, 요구사항, 설계도 등이다.
동등 분할 기법 : 입력 데이터를 특성에 따라 클래스로 분류, 경험에 의존
ex) x값이 0~100인 경우 x<0, x=50, x>100
경계값 분석 기법 : 경계값에서 에러가 발생될 확률이 높다는 점을 이용.
ex) x값이 0~100인 경우 x=0, x=100, x=-1, x=101
오류 예측 기법 : 각 시험 기법들이 놓치기 쉬운 오류들을 감각, 경험으로 테스트
원인 결과 그래프 기법 : 입력 데이터간 관계가 출력에 미치는 영향을 그래프로 표현
요구사항 추적 매트릭스 : 고객의 요구사항 중 빠진 사항은 없는지 추적하는 매트릭스
상태 전이 테스팅 : 시스템의 상태(모드)가 변화함에 따른 테스트
의사결정 테이블 테스팅 : 논리적인 조건이나 상황을 구현하는 시스템 요구사항을 도출하거나
내부 시스템 디자인을 문서화하는 테스팅
테스트에 관한 내용이 좋은 사이트
'전자공학 > 프로그래밍' 카테고리의 다른 글
캡슐화와 정보은닉 (0) | 2019.10.27 |
---|---|
컴파일(Compile), 빌드(Build), 링커(Linker), 로더(Loader) (0) | 2019.10.19 |
리눅스 VS 유닉스 (1) | 2019.04.28 |
소프트웨어 개발방법론 (2) | 2019.04.02 |
본받을만한 프로그래머 코딩하는 공익 (2) | 2018.12.06 |