반응형

의사결정표 기반 테스팅

  • 의사결정 로직을 매트릭스 형태로 표현
  • 가능한 조건들과 그 결과가 되는 액션을 명세함
  • 복잡한 의사결정 로직에 사용하기에 적합
  • 논리적인 조건들이나 복잡한 시스템 규칙들을 포함하고 있는 시스템 요구사항 또는 명세서에 적용 가능

 

의사결정표 관련 용어(Terminology)

  • 의사결정표가 아래 그림처럼 4개 영역으로 나뉘어짐
    -
    조건 스터브(Condition stubs): 의사결정과 관련 있는 조건들을 나열
    -
    액션 스터브(Action stubs): 조건이 야기하는 액션들을 나열
    -
    조건 엔트리(Condition entries): 조건들의 값
    -
    액션 엔트리(Action entries)  
  • 규칙(Rules): 특정 조건 집합의 결과로 어떤 액션이 발생하는지를 명세함. 표에서 엔트리 영역의 각 열이 비즈니스 프로세스의 규칙에 상응함
  • 의사결정표를 읽을 때 규칙 열을 기준으로 함. , 아래 표에서 “Rule1에 따르면 조건 c1, c2, c3가 모두 참일 때 액션 a1 a2가 발생하게 된다라고 읽음

 

 

의사결정표 예

테스팅 분야에서 자주 인용되는 예제인 세 변(a, b, c)을 입력 받아 부등변 삼각형인지(scalene), 정삼각형인지(equilateral), 이등변 삼각형(isosceles)인지를 출력하는 삼각형 프로그램의 경우 아래와 같은 의사결정표를 생성할 수 있다

 

  • 위의 예처럼 조건 엔트리가 이진값(True 또는 False)으로 제한된 경우를 제한 엔트리 의사결정표(limited entry decision tables)’라 부르고, 조건 엔트리가 두 개 이상 값을 가지는 경우는 확장 엔트리 의사결정표(extended entry decision tables)’라 지칭함
  • 위 표에서 하이픈(-)은 값이 무엇이든 상관 없는 경우(, 액션에 영향을 미치지 못함)를 의미하며, ‘don’t care entries’라고 지칭함
  • 의사결정 기반 테스팅에서는 대개 표준 커버리지를 적용함. 예를 들면, “각 열 당 적어도 하나의 테스트 케이스를 생성한다같은 기준을 적용하여 아래와 같은 테스트케이스를 도출함

 

참고자료: Software Testing A Craftsman’s Approach by Paul C. Jorgensen, 7Decision Table–Based Testing

 

 

반응형

+ Recent posts