정보처리기사

★ 016 애플리케이션 테스트 관리[테스트 기법에 따른 애플리케이션 테스트]

로춘남 2020. 6. 2. 07:00
728x90

1. 화이트박스 테스트(White Box Test)

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

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

- 테스트 과정의 초기에 적용되며, 모듈 안의 작동을 직접 관찰

- 원시 코드의 모든 문장을 한 번 이상 실행하면서 수행

- 프로그램의 제어 구조에 따라 선택/반복 등의 분기점 부분을 수행하며 논리적 경로를 제어함

 

2. 화이트박스 테스트의 종류

1) 기초 경로 검사

- 대표적인 화이트박스 테스트 기법으로, 테스트 케이스 설계자가 절차적 설계의 논리적 복합성을 측정 할 수 있게함

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

2) 제어 구조 검사

- 조건 심사(Condition Testing): 프로그램 모듈 내에 있는 논리적 조건을 테스트하기 위해 테스트 케이스를 설계하는 기법

- 루프 검사(Loop Testing): 반복 구조에 초점을 맞춘 테스트 케이스 설계 기법

- 데이터 흐름 검사(Data Flow Testing): 변수의 정의 및 사용 위치에 초점을 맞춰 테스트 케이스를 설계하는 기법

 

3. 화이트박스 테스트의 검증 기준

1) 문장 검증 기준(Statement Coverage)

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

2) 분기 검증 기준(Branch C)

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

3) 조건 검증 기준(Condition C)

- 소스 코드의 모든 조건문에 대해 조건이 T/F인 경우가 각각 한 번 이상 수행되도록 테스트 케이스 설계

4) 분기/조건 검증 기준

- 소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 T/F인 경우가 각각 한 번 이상 수행되도록 테스트 케이스 설계

 

[검증 기준의 종류]

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

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

- 코드 커버리지 : 소스 코드의 구문, 분기, 조건 등의 구조 코드 자체가 얼마나 테스트 되었는지 측정하는 방법

 

4. 블랙박스 테스트(Black Box Test)

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

- 사용자 요구사항 명세를 보면서 테스트하는 것으로, 구현된 기능을 테스트 한다.

- SW의 인터페이스에서 실시되는 테스트이다.

- 기능이나 인터페이스의 부정확, 누락, 오류 등을 발견하는 과정이며, 테스트의 후반부에 적용

 

5. 블랙박스 테스트의 종류

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

- 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법

- 동등 분할 기법이라고 부름

- 프로그램의 입력 조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 나눠 테스트 케이스를 정하고, 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 기법

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

- 입력 자료에만 치중한 동치 분할 기법을 보완하기 위한 기법

- 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용

- 입력 조건의 경계값을 테스트 케이스로 선정하여 검사하는 기법

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

- 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 후, 효용성 높은 테스트 케이스를 선정하여 검사하는 기법

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

- 과거 경험이나 확인자의 감각으로 테스트하는 기법으로, 데이터 확인 검사라고도 부름

- 다른 블랙 박스 테스트 기법으로는 찾아 낼 수 없는 오류를 찾아내는 보충적 검사 기법

5) 비교 검사(Comparison Testing)

- 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 확인하는 기법

728x90