정보처리기사

10. 애플리케이션 테스트 관리 - Chap 1.애플리케이션 테스트 케이스 설계(2)

Elin J 2021. 10. 5. 18:18

1. 애플리케이션 테스트 케이스 작성(2)

 

<화이트박스 케이스> 

1) 화이트박스 테스트 개념
  - 각 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트
  - 구조기반 테스트, 코드기반 테스트, 로직기반 테스트, 글래스(glass)박스 테스트 라고 부름

 

* 테스트 커버리지 : 테스트의 충분성을 측정하기 위한 정량적 지표

* 테스트 커버리지 유형 --> 기라코

    기능 기반 커버리지 / 라인 커버리지 / 코드 커버리지

 

 

---> 구결조 이다조 기제데

2) 구문(=문장) 커버리지★
  - 프로그램 내의 모든 명력문을 적어도 한 번 수행하는 커버리지
  - 조건문 결과와 관계없이 구문 실행 개수로 계산

3) 결정 커버리지★
  - (각 분기의) 결정 포인트 내의 전체 조건식이 적어도 한 번은 참과 거짓의 결과를 수행하는 테스트 커버리지  
  - 구문 커버리지를 포함

4) 조건 커버리지★
  - 각 분기의 결정 포인트 내의 각 개별 조건식이 적어도 한번은 참과 거짓의 결과가 되도록
    수행하는 테스트 커버리지 (전체 조건식의 영향은 고려하지 않음)
  - 구문 커버리지 포함 -> 조건 커버리지 100%라고 구문커버리지 100% 만족하진 XXX
 
5) 조건 / 결정 커버리지★
  - 전체 조건식뿐 만 아니라 개별 조건식도 참 한번, 거짓 한 번 결과가 되도록 수행하는 테스트 커버리지
  - 조건 커버리지와 결정 커버리지를 최소한의 조합으로 달성하는 커버리지

6) 변경 조건 / 결정 커버리지

  - 각 개별 조건식이 다른 개별 조건식에 영향 받지 않고, 전체 조건식의 결과에 독립적으로 영향

    조건/ 결정 커버리지를 향상시키는 커버리지 = MCDC (sagety도메인, 안전.국방)

 

7) 다중 조건 커버리지

  - 결정 조건 내 모든 개별 조건식의 가능한 논리적 조합이 적어도 한번은 테스트 되도록 도출

  - 모든 가능한 조건을 100% 보장

 

8) 기본 경로 커버리지

  - 수행 가능한 모든 경로를 테스트하는 기법

  - 멕케이브의 순환복잡도를 기반으로 커버리지 계산

* 멕케이브의 순환복잡도(MaCabe) : 제어 흐름의 복잡한 정보를 정량적으로 표시

                                               원시 코드의 회전수를 구하여 복잡도 계산

 

9) 제어 흐름 테스트 (구문, 결정, 조건 커버리지 테스트 뭐 할지 결정하는)

  - 프로그램 제어 구조를 그래프 형태로 나타내 내부 로직 테스트하는 기법

  - 테스팅 완전성 가늠하는 척도

 

10) 데이터 흐름 테스트

  - 데이터 정의, 사용하는 것 찾는 테스트 / 디버깅 할 때

  - 제어 흐름 그래프에 데이터 사용 현황을 추가한 그래프를 통해 테스트

 

 

======================================================================


 <블랙박스 케이스> 

1) 블랙박스 테스트 개념 
  - 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트(기능테스트)
  - 곧 명세테스트이고, 전체 소프트웨어 테스트 레벨에서 적용 가능

                              (시스템, 인수 테스트에서 많이 사용)

 

   ---> 동경결상 유분페원비
2) 동등분할 테스트(Equivalence Partitioning Testing) 개념★
  - 입력 데이터의 영역을 유사한 도메인별로 유효값/무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여

    테스트하는 기법 
  - 동치 분할 테스트, 균등 분할 테스트, 동치 클래스 분해테스트 라고도 함

 

3) 경곗값 분석(BVA) 테스트 개념★
  - 등가 분할 후 경곗값 부분에서 오류 발생 확률이 높기 때문에 경곗갓을 포함하여 테스트 케이스를 설계하여

    테스트하는 기법
  - 최솟값 바로 위, 최대치 바로 아래 등 입력 값의 극한 한계를 테스트하는 기법으로
  - 한곗값 테스트 라고도 함

   ---> 경곗값 선택 방법: 2-value, 3-value


4) 결정 테이블 테스트
  - 요구사항의 논리와 발생조건을 테이블 형태로 나열하여, 조건과 행위를 모두 조합하여 테스트하는 기법

  -  조건과 행위 = 원인과 결과

  - 특징: 복잡한 논리적 관계 표현하기 좋고, 누락된 요구사항 검사에 용이

  - 모두 불린(boolean)으로 표시(참/거짓)

 

5) 상태 전이 테스트

  - 임베디드 테스트에서 많이 사용(내장된 소프트웨어)
  - 테스트 대상, 시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 한 상태에서
  다른 상태로 전이되는 경우의 수를 수행하는 테스트 기법 

  - 상태 전이도를 모델링 한 후 상태 전이도(전이 트리)에서 테스트 케이스 도출

  - State, Transition, Event, Guard

 

6) 유스케이스 테스트

  : 유스케이스로 모델링 되어있을 때 프로세스 흐름을 기반으로 명세화하여 수행

 

7) 분류 트리 테스트

  : 트리 구조로 분석 및 표현하여 테스트 케이스 설계

 

8) 페어와이즈 테스트

  : 테스트 데이터 값들 간에 최소한 한 번씩 조합하는 방식,

    커버해야 할 기능적 범위를 모든 조합에 비해 상대적으로 적은양의 테스트 세트를 구성하기에 용이

 

9) 원인-결과 그래프 테스트

   = 결정 테이블 테스트(조건, 행위)

  : 효용성이 높은 테스트 케이스 선정하여 테스트하는 기법

 

10) 비교 테스트 

  : 여러 버전의 프로그램에 같은 입력값 넣어서 동일한 결과 나오는지 비교해보는 테스트 기법