[SW테스팅] 구조 기반 기법(structure-based)컴퓨터공학2학년/SW테스팅2021. 5. 5. 17:28
Table of Contents
화이트 박스 테스팅 -> 시스템의 구조를 중심으로 테스팅
- SW코드나 설계등 구조를 표현하는 정보로부터 테스트 케이스 도출
- 작성한 테스트 케이스들로부터 커버리지를 측정할 수 있으며, 커버리지를 높이기 위해 테스트 케이스를 체계적으로 추가
- 제어 흐름 테스트, 기본 경로 테스트, x커버리지 테스팅
테스트레벨과 SW구조와의 관계
테스트 레벨 | SW 구조 |
컴포넌트 레벨 | Statements(구문), Decisions(결정) 또는 Branches(분기)등 코드 구조 |
통합 레벨 | 콜 트리(모듈간의 호출 구조 다이어그램)등 |
시스템 레벨 | 메뉴 구조, 비즈니스 프로세스 구조, 웹 페이지 구조 등 |
구문 커버리지 ( statement coverage )
- 테스트 스위트에 의해 실행된 구문이 몇 퍼센트(%)인지 측정 ( 가장 약함 )
결정 커버리지 ( Decision coverage )
- 실행된 결정 포인트 내의 전체 조건식이 최소한 참이 한 번 그리고 거짓이 한번씩 선택되었는지 측정해 %로 표현
조건 커버리지
- 전체 조건식의 결과와 관계없이 각 개별 조건식이 참 한번, 거짓 한번을 모두 갖도록 개별 조건식을 조합(결정 커버리지 보다 강력)
구문 커버리지
- 테스트 스위트에 의해 실행된 구문이 몇 퍼센트(%)인지 측정 ( 가장 약함 )
- 구문 테스팅은 구문 커버리지를 늘리기 위해 특정 구문을 테스트하는 테스트 케이스 도출
- 코드의 모든 구문을 실행할 수 있는 입력값이나 이벤트 등의 테스트 데이터를 제공해주면 달성됨
결정 커버리지
- 분기 테스팅과 관련
- 테스트 스위트에 의해 실행된 조건문 분기가 전체 가능한 분기의 몇 퍼센트인지를 측정하고 평가
- 결정 포인트 내의 전체조건식이 참과 거짓의 모든 값을 갖게 되어 모든 분기로 흐르게 되면 달성
결정 테스팅
- 결정 커버리지를 늘리기 위해 특정 조건문의 분기를 테스트하는 테스트 케이스를 도출하는 것
- 제어 흐름 테스트
제어 흐름 테스트
- 구조기반 테스트 -> 코드 레벨의 커버리지 개념 필요
- 프로그램 구조 테스트
- 공식적인 화이트 박스 테스트 -> 단위 / 통합 테스트에서 사용
- 테스트 깊이 레벨에 따라 강도 존재
- 테스트 케이스를 선택된 흐름에 따라 연속적인 구문의 집합으로 기술
- 테스트 깊이가 깊을수록 제품의 커버리지는 높아지는 반면 테스트 케이스가 기하급수적으로 많아져 비용, 시간, 리소스 많이 소요된다.
조건 커버리지
- 결정 포인트 내에 있는 개개의 개별 조건식이 참/거짓의 모든 값을 갖게 되면 달성
- 조건 커버리지(강력, 견고한 테스트) > 결정 커버리지
조건 / 결정 커버리지
- 항상 결정과 조건 커버리지를 모두 만족시키는 것보다 강력
- 결정과 조건 커버리지를 최소한 조합으로 달성하는 경우
- 항상 모든 개별 조건식이 참이고 이에 따른 전체 조건식이 참인경우
- 모든 개별 조건식이 거짓이면서 이에 다른 전체조건식이 거짓인 경우
반응형
'컴퓨터공학2학년 > SW테스팅' 카테고리의 다른 글
[SW테스팅] 경험 기반 기법(Experience-based) (0) | 2021.05.10 |
---|---|
[SW테스팅] 조컨 테스팅과 커버리지 (0) | 2021.05.10 |
[SW테스팅] 유즈케이스 테스팅(Use case) (0) | 2021.05.05 |
[SW테스팅] 상태 전이 테스팅(state transition) (0) | 2021.05.05 |
[SW테스팅] 테스트 설계 기법의 종류 (0) | 2021.04.23 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!