원인 결과 도표법은 테스트할 때의'사고방식'을 감소시킨다

원인 결과 차트


원인 결과 차트(Cause-Effect Graph = CEG)는 복잡한 논리를 가진 규격에 대한 누락이 없는 디자인표를 만들기 위해 볼투로 논리 관계를 나타내는 표이다.
예를 들어 아래 표에서 보여준 놀이공원의 유료 시스템을 도표화하는 것을 고려해 주십시오.

이 사례는'추산호일'조합 테스트의 디자인'정보처리 볼.49 No.2 Feb.208'에서 차용됐다.
nifty의 가세 씨가 제작되었기 때문에 CEGTEST라고 명명된 도구는 무료로 공개됩니다. 그 도구를 사용해서 그려 본 도표를 다음 그림에 표시한다.

디지털 논리 회로(조합 논리 회로망)가 됐지만 전자공학의 지식은 필요 없다.브리 논리(논리 명령으로서의 and, or, not)에 대한 이해가 있으면 그림을 그릴 수 있습니다.
다른 한편, 가까스로 전자공학 지식을 가진 사람은 아래의 회로보다 이해가 빨라진다.이것은 SimcirJS로 그린 것이다.

원인 결과 보호법


원인 결과 도표를 만드는 토대에서 테스트 용례를 체계적으로 만들고 조건의 조합을 나타낸다.
또 오류를 발견하기 위해 유효성이 높은 테스트 용례를 선택하는 유용한 기술이다.
도표를 그려내면 기계 프로그램에 따라 테스트 용례를 선택할 수 있기 때문에 이것은 도구에 맡기는 것이 합리적이다.실제로 이전에 차트를 그리는 데 사용했던 CEGtool이 다시 시작되고 디자인 테이블로 표시됩니다.
또 다른 유용한 특징은 다른 원고로 설명하고, 여기서 유효성이 높은 테스트 용례, 즉 테스트를 줄일 때의'사고방식'을 골라 설명한다.

테스트 용례는 얼마나 감소합니까?


우선 얼마나 다행스러운 일인지 확인해 보자."테스트 용례가 얼마나 줄었나요?"먼저 보기로 했습니다.
예를 들어 아래 그림에서 보여준 4개 노드의 논리적 축적 상황에서 의사결정표에 #1~#5의 5개 테스트 용례를 생성했다.

다음은 논리와 상황.마찬가지로 다섯 개의 테스트 용례가 생성된 것을 발견할 수 있다.

4개의 노드이기 때문에 의사결정표나 진위치표를 빠짐없이 만들면 2의 4차, 즉 16회의 상황이 발생할 수 있다.각 그림의 오른쪽에는 누락되지 않은 진위표가 표시되어 있다.회색으로 채워진 상자는 선택되지 않았습니다.
이렇게 하면 테스트 수가 2N에서 N+1으로 줄어들어 조합 폭발을 방지할 수 있다.
물론 실제로 필요한 논리는 논리적 적립, 논리와 부정 등이 혼합돼 있기 때문에 N+1으로 줄어들지는 않지만, 주문이 다르기 때문에'폭발을 막을 수 있다'는 표현은 조금도 과장되지 않는다.

원인 결과 도표법은 테스트할 때의'사고방식'을 감소시킨다


그럼, 이것이야말로 본론이다.도대체 어떤'사고방식'으로 줄어든 것일까. 왜 진위표를 회색으로 칠하는 경우를 선택하지 않았을까. 다음은 설명.

논리적 축적(AND) 시 감소 방법


앞에서 보여준 4개 노드가 이해하기 어려워졌기 때문에 가장 단순화된 2개 노드의 경우 구체적인 사례로 조금 더 설명한다.
어떤 놀이공원의 롤러코스터를 타는 데는 다음과 같은 제한이 있다.
10세 이상 120cm 이상이면 탈 수 있습니다.
흐름도와 정책 결정표는 다음과 같다.

다음 명제로 표현하면 P τQ가 진짜(T)라면 탈 수 있다.
P
나이가 10세 이상이다
Q
키가 120cm 이상이에요.
프로그램은 평가 순서를 고려할 수 있지만 원인 도표의 논리적 표현식에서 P와 Q의 평가 순서를 특별히 규정하지 않았다.그래서 어느 쪽이 먼저 가든 상관없이 두 가지 흐름도를 보여준다.
흐름도에 있는 경로 화살표에 색이 있지만 같은 색으로 동시에 표시되는 의사결정표의 대응 부분을 채워서 대응 관계를 나타낸다.
#4 열(테스트 모드)은 회색으로 채워지지만 이 열은 선택되지 않습니다.
바로 이 이유야말로 이곳에서 보여주고 싶은'사고방식'이다.
#4 다른 팀과 비교해보자.4 다른 팀은 이미 통과한 노선만 통과할 수 있음을 알 수 있다.
그리고 P나 Q의 어떤 조건에 오류(bug)가 있어도 여러 경로가 있기 때문에 다른 조건이 맞으면 정답을 알 수 있다.
A:다른 사례에 비해#4의 유효성이 낮다는 뜻이다.
#4를 선택하지 않는 이유이자 시험 때를 줄이는'사고방식'이기도 하다.
CEGTEstest 도구를 사용하여 생성된 의사 결정 테이블은 다음과 같습니다.

#4의 상자가 의사결정대에 나타나지 않는지 확인할 수 있습니다.

논리 및 (OR) 시 감소 방법


그렇다면 이번에는 논리와(OR) 상황에 대해서도 마찬가지로 간소화된 2개 노드의 경우를 조금 더 구체적인 사례로 설명해 보겠습니다.
어떤 놀이공원의 롤러코스터를 타면 이번에는 다음과 같은 제한이 있다.
"10세 이하와 80세 이상은 그러지 말아 주세요."
흐름도와 정책 결정표는 다음과 같다.

다음 명제를 사용해 표현하면 P훅 Q가 진(T)임을 나타내면 이번에는 탈 수 없다.
P
연령이 10세 이하이다
Q
나이가 80세 이상이다
이것도 마찬가지로 프로그램에서 평가 순서를 고려할 수 있지만 원인 결과 도표의 논리적 표현에서 P와 Q의 평가 순서를 특별히 규정하지 않았다.그래서 어느 쪽이 먼저 가든 상관없이 두 가지 흐름도를 보여준다.
흐름도에 있는 경로 화살표에 색이 있지만 같은 색으로 동시에 표시되는 의사결정표의 대응 부분을 채워서 대응 관계를 나타낸다.
#4 열(테스트 모드)은 회색으로 채워지지만 이 열은 선택되지 않습니다.
바로 이 이유야말로 이곳에서 보여주고 싶은'사고방식'이다.
#4 다른 팀과 비교해보자.4 다른 팀은 이미 통과한 노선만 통과할 수 있음을 알 수 있다.
그리고 P나 Q의 어떤 조건에 오류(bug)가 있어도 여러 경로가 있기 때문에 다른 조건이 맞으면 정답을 알 수 있다.
A:다른 사례에 비해#4의 유효성이 낮다는 뜻이다.
#4를 선택하지 않는 이유이자 시험 때를 줄이는'사고방식'이기도 하다.
CEGTEstest 도구를 사용하여 생성된 의사 결정 테이블은 다음과 같습니다.

#4의 상자가 의사결정대에 나타나지 않는지 확인할 수 있습니다.


원인 결과 도표법의 제약 관계에 대한 기술에 대해 알고 있는 사람은 테스트 용례에 나타난 것이 아래의 추가 EXCL 제한과 같다는 것을 기억하는 것이 좋다.

논리적 적시



논리적 및 상황


좋은 웹페이지 즐겨찾기