정보처리기사/필기

[2과목-4장-051] 테스트 기법에 따른 애플리케이션 테스트

여니두 2020. 4. 24.

SW 내부 구조의 참조 여부에 따라 나뉨

 

1. 화이트박스 테스트 ('논리')

: 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법

- 설계된 절차에 초점을 둔 구조적 테스트. 프로시저 설계의 제어 구조를 사용하여 테스트 케이스 설계.

- 테스트 과정 초기에 적용

- 모듈 안의 작동을 직접 관찰

- 원시 코드(모듈)의 모든 문장을 한 번 이상 실행함으로써 수행

- 제어 구조에 따라 선택, 반복 등의 분기점 부분들을 수행함 > 논리적 경로를 제어

 

* 종류

1) 기존 경로 검사

- 대표적 기법

- 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법.

- 측정 결과는 실행 경로의 기초를 정의하는 데 지침으로 사용됨.

 

2) 제어 구조 검사

(1) 조건 검사

(2) 루프 검사

(3) 데이터 흐름 검사

 

* 검증 기준 (모두 '코드 커버리지')

1) 문장 검증 기준

: 소스 코드 모든 구문이 한 번 이상 수행되도록 테스트 케이스 설계

2) 분기 검증 기준

: 소스 코드 모든 조건문이 한 번 이상 수행되도록 테스트 케이스 설계

3) 조건 검증 기준

: 소스 코드의 모든 조건문에 대해 조건이 True인 경우와 False인 경우가 한 번 이상 수행되도록

4) 분기/조건 기준

: 소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 True, False인 경우가 한 번 이상 수행되도록

 

** 검증 기준(Coverage) 종류

1) 기능 기반 커버리지: 실제 테스트가 수행된 기능 수 / 전체 기능 수

2) 라인 커버리지: 테스트 시나리오가 수행한 소스 코드 라인 수 / 전체 소스 코드 라인 수

3) 코드 커버리지: 구조 코드 자체가 얼마나 테스트되었는지를 측정하는 방법

 

 

2. 블랙박스 테스트

: SW가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트

= 기능 테스트

 

- 요구사항 명세를 보면서 테스트. 구현된 기능을 테스트

- SW 인터페이스에서 실시하는 테스트

- 부정확/누락된 기능,  인터페이스 오류, 자료구조/외부 DB 접근에 따른 오류, 행위/성능 오류, 초기화, 종류 오류 등을 발견하기 위해 사용

- 테스트 과정의 후반부에 적용

 

* 종류

1) 동치 분할 검사 (Equivalence Partitioning Testing)

: 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사.

= 동등 분할 기법

- 타당한 입력 자료 / 타당 X 입력 자료 개수를 균등하게 하여 테스트 케이스 정함 > 해당 입력 자료에 맞는 결과가 출력되는지 확인

 

2) 경계값 분석 (Boundary Value Analysis)

: 동치 분할 기법을 보완

- 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점 이용 > 입력 조건의 경계값을 테스트 케이스로 선정하여 검사

 

3) 원인-효과 그래프 검사 (Cause-Effect Graphing Testing)

: 입력 데이터 간 관계와 출력에 영향을 미치는 상황을 분석 > 효용성 높은 테스트 케이스 선정

 

4) 오류 예측 검사 (Error Guessing)

: 과거 경험 or 확인자의 감각으로 테스트

- 일련의 보충적 검사 기법

= 데이터 확인 검사

 

5) 비교 검사 (Comparison Testing)

: 여러 버전의 프로그램에 동일 테스트 자료 제공 > 동일 결과가 출력되는지 테스트

댓글