Study_Note

decision table testing 본문

QA_study

decision table testing

12월7일생 2023. 7. 31. 11:39
728x90
반응형

 

결정 테이블(Decision Table) 테스트

 

결정 테이블 테스팅 방법은 소프트웨어 품질 보증(QA)과정에서 사용되는 테스트 설계 기법 중 하나로, 
복잡한 비즈니스 규칙이나 조건들을 포함하는 결정 테이블을 효과적으로 테스트하는 방법입니다.

정의

결정 테이블은 입력 조건과 해당 조건에 따른 결과 처리를 정리한 표 형태의 구조입니다. 결정 테이블 테스팅은 이러한 결정 테이블을 분석하고 테스트 케이스를 설계하여 소프트웨어가 올바르게 동작하는지 확인하는 것을 목표로 합니다.

장점

  • 체계적인 테스트:
    결정 테이블 테스팅은 모든 조건과 처리 방법을 체계적으로 테스트하기 때문에 빠르고 효율적인 테스트를 가능하게 합니다.
  • 테스트 커버리지 개선
    모든 조건과 결과를 테스트 케이스로 만들어 사용하므로 테스트 커버리지가 높아지며, 누락된 테스트 케이스를 방지합니다.
  • 시나리오 기반 테스트
    다양한 조건과 입력 값을 기반으로 테스트 케이스를 설계하기 때문에 현실적인 시나리오에 근접한 테스트를 수행할 수 있습니다.

단점

  • 큰 결정 테이블의 복잡성:
    결정 테이블이 크고 복잡한 경우 테스트 케이스 작성 및 관리가 어려울 수 있습니다.
  • 중복된 조건
    결정 테이블에 중복된 조건이 있는 경우, 테스트 케이스 작성 시 중복을 피하기 어렵습니다.

사용 예

  • 금융 시스템에서 고객의 신용 등급에 따라 대출 이자율을 결정하는 결정 테이블을 테스트합니다.
  • 온라인 쇼핑몰에서 할인 쿠폰 사용 여부를 결정하는 결정 테이블을 테스트합니다.

예시로 가정할 결정 테이블은 물건을 판매할 때의 할인 금액을 결정하는 테이블입니다.
이 테이블은 물건의 가격과 회원 등급에 따라 할인 금액이 다르게 적용됩니다.

결정 테이블 분석:
먼저, 결정 테이블을 분석하여 모든 입력 조건과 해당 조건에 따른 결과 처리를 파악합니다. 이 예시에서는 다음과 같은 결정 테이블을 가정합니다

| 물건의 가격       | 회원 등급     | 할인 금액     |
|-----------------|--------------|--------------|
| 0 <= price < 1000| 일반 고객    | 0%           |
| 0 <= price < 1000| VIP 고객     | 5%           |
| 1000 <= price < 5000 | 일반 고객 | 2%           |
| 1000 <= price < 5000 | VIP 고객  | 10%          |
| 5000 <= price    | 일반 고객    | 5%           |
| 5000 <= price    | VIP 고객     | 15%          |


테스트 케이스 설계:
결정 테이블에서 파악한 모든 조건과 처리 방법을 기반으로 테스트 케이스를 설계합니다. 모든 입력 조건을 커버하도록 다음과 같이 테스트 케이스를 작성할 수 있습니다.

| Test Case | 물건의 가격 | 회원 등급 | 기대 할인 금액 |
|-----------|-------------|------------|--------------|
| TC-001    | 500         | 일반 고객  | 0%           |
| TC-002    | 500         | VIP 고객   | 5%           |
| TC-003    | 1500        | 일반 고객  | 2%           |
| TC-004    | 1500        | VIP 고객   | 10%          |
| TC-005    | 6000        | 일반 고객  | 5%           |
| TC-006    | 6000        | VIP 고객   | 15%          |

테스트 실행:
테스트 케이스를 실행하여 각 조건들이 예상한 결과와 일치하는지 확인합니다. 예를 들어, TC-001의 경우 물건 가격이 500이고 일반 고객인 경우에는 할인 금액이 0%가 되어야 합니다. 마찬가지로, TC-006의 경우 물건 가격이 6000이고 VIP 고객인 경우에는 할인 금액이 15%가 되어야 합니다.

결과 분석:
테스트 결과를 분석하여 결정 테이블이 정확하게 동작하는지 확인하고 문제가 있는 부분을 수정합니다. 예를 들어, 특정 테스트 케이스에서 예상과 다른 결과가 나온다면 결정 테이블 또는 테스트 케이스를 다시 검토하여 오류를 해결합니다.

이렇게 결정 테이블 테스트 케이스를 작성하고 실행하여 소프트웨어의 할인 적용이 올바르게 동작하는지 확인할 수 있습니다. 이를 통해 고객에게 정확하고 일관된 할인 서비스를 제공할 수 있게 됩니다.

 

(example) 

  1. 중복된 조건 제거
  2. 간소화
  3. 결정 테이블

 

 

'QA_study' 카테고리의 다른 글

requirements engineering  (1) 2023.12.08
software life cycle model  (2) 2023.12.06
boundary value analysis test  (0) 2023.07.28
equivalence partitioning testing  (0) 2023.07.28
types of test design techniques  (0) 2023.07.27