2022.07.15 - [지방대 출신 초봉 4천받기/도움되는 자격증 (ISTQB CTFL)] - ISTQB CTFL 요점정리 7) Test 도구 2. 동적테스팅(설계 및 분류)
ISTQB CTFL 요점정리 7) Test 도구 2. 동적테스팅(설계 및 분류)
참고) Dynamic Testing(동적 테스팅) : SW를 실제 구동시켜가며 하는 테스팅. 외부에서 보이는 동작에 초점을 맞추고 있다. 1. 테스트 설계 1) 테스트 개발 프로세스 (ISO/IEC 29119) : 다음 3가지 관점으로
p-backup.tistory.com
명세기반 기법(Black box Test)
1) 동등분할(Equivalence Partitioning) : 동일집합에서 어떤 값을 사용하더라도 같은 결과가 나오는 것에 사용됨. 주로 중간 값을 대표값으로 하나 뽑아 T/C를 짜며, 이때 유효하지 않은 입력데이터도 T/C에 포함 할 수 있다.
2) 경계값 분석(Boundary Value Analysis) : 입력값의 주요 오류대상인 경계값(해당 분할 영역의 최대/최소값)을 T/C로 선정하는 기법.
참고) 동등분할 및 경계값 분석 기법의 한계 : 입력범위를 동등분할 하여 제한하더라도 입력값 조합의 수가 테스트 가능한 수를 넘어가는 경우가 많다. 또, 입력 조합이 상호간에 독립적(의존성이 없는)이라는 가정에서만 적합하다.
참고) 동등분할 및 경계값 분석은 모든 테스트 유형, 모든 테스트 레벨에서 적용이 가능하다.
Ex)
3) 결정 테이블 테스팅(Decision Table Testing)
-. 개념 : 시스템 요구사항/비즈니스 로직 등에서 원인과 결과를 분석하여 T/C를 조합해 내는 방법
-. 장점 : 논리적으로 의존적인 가능한 모든 조건들의 조합을 뽑아 낼 수 있어 촘촘한 Test가 가능하다. 또한 요구사항이나 Test basis의 문제점을 드러나게 한다.
-. 단점 : 작성에 많은 노력과 시간이 소요될 수 있고 실수의 여지가 있다.
Ex) 결정 테이블 테스팅 예제.
Specification ① 사람들에게 50만원 배당한다.
Specification ② 직업이 있고 나이가 40세 이상이면 10만원을 추가 배당한다.
Specification ③ 직업이 없는 사람이 3자녀 이상이면 5만원을 추가 배당한다.
T/C1 | T/C2 | T/C3 | T/C4 | T/C5 | T/C6 | T/C7 | T/C8 | ||
Case 3가지 |
직업 | T | T | T | T | F | F | F | F |
연령 | T | T | F | F | T | T | F | F | |
자녀 | T | F | T | F | T | F | T | F | |
Effect 3가지 |
50만원 | V | V | V | V | V | V | V | V |
10추가 | V | V | |||||||
5추가 | V | V | |||||||
기대 결과 | 60 | 60 | 50 | 50 | 55 | 50 | 55 | 50 |
4) 상태전이 테스팅 기법(State Transition Testing) : 시스템을 상태전이 다이어그램으로 표현하고, 이를 바탕으로 T/C를 도출하는 기법
-. 특징 : 이벤트, 액션, 활동, 상태, 상태전이 사이의 관계를 집중하는 테스팅 기법으로, 시스템/SW가 현재 조건이나 기존 이력에 따라 이벤트가 다르게 반응 할 때
모든 상태/이벤트 조합을 확인 할 수 있어 사용된다.
-. 절차 : ①상태전이 다이어그램에서 ②상태-이벤트 테이블을 만든 후, ③이를 근거로 전이트리를 그려 유효한 모든 전이를 표현한다. 그리고 전이트리의 경로(Path)를 파악해 ④유효한 테스트 케이스, ⑤비유효한 테스트 케이스, ⑥가드(조건)테스트 케이스를 순서대로 작성한다. 그 후 완성된 테스트 케이스를 효율적으로 실행하기 위해 ⑦테스트 프로시저 또는 스크립트를 구성한다.
-. 구성 : ① State(상태) : 하나 또는 그 이상의 이벤트를 기다리는 시스템의 모드
② Transition(전이) : 이벤트에 의해 한가지 상태에서 다른 상태로의 변경
③ Event(이벤트) : 상태의 전이를 유발하는 행위 또는 요인
④ Guard(가드) : 이벤트가 발생하는 조건. 보통 ^로 표기한다
⑤ Action(액션) : 상태의 전이에 따른 유발되는 동작
-. 중요 : T/C를 구성할 때 Valid case와 Invalid case를 모두 뽑아 T/C를 짜야 한다. Ex)
5) Use Case Testing : 시스템의 동작이나 비즈니스 시나리오를 명세하고 이를 기반으로 T/C를 도출하는 기법. 요구사항 시나리오가 실행되기 위한 특정조건(Condition)을 식별함으로써, 각 시나리오로 부터 T/C를 추출한다. 서로 다른 컴포넌트들의 상호작용이나 간섭으로 발생하는 통합 결함을 찾는데 도움이 된다. 유즈케이스 이벤트의 흐름을 어떻게 구조화 하고 조직하고 작성해야 하는지는 정의되어 있지 않다. 따라서 유즈케이스 표현 자체가 정확하지 않고 일관성이 낮을 수 있다.
Ex) 현금인출기 라면 Condition은 현금출금, 현금인출, 계좌이체, 개시 및 종료 등이 될 것이다. 이때 주류 시나리오(Basic flow)와 대체 시나리오(Alternative flow)를 도출하고 시나리오 구성 후 T/C화 한다.
6) Pair-Wise Testing : 커버해야 할 기능적 범위에 비해 상대적으로 적은 양의 테스트 세트를 구성 할 때 사용하는 기법으로, 대부분의 결함이 2개 요소의 상호작용에 기인한다는 것에 착안하여 2개 요소의 모든 조합을 T/C로 도출하는 방식.
Ex) F1, F2, F3 3가지 요소가 각각 True/Fail 두 가지 입력조건만 갖는다고 할 때 F1 ↔ F2 / F2 ↔ F3 / F1 ↔ F3간의 True/Fail입력조건에 빠짐이 없도록 T/C를 구성하면 된다. 아래 표와 같고 이를 정리하면 우측표와 같다.
'Knowledge Dump' 카테고리의 다른 글
ISTQB CTFL 요점정리 10) Test 도구 2. 동적테스팅(경험기반 기법) (0) | 2022.07.21 |
---|---|
ISTQB CTFL 요점정리 9) Test 도구 2. 동적테스팅(구조기반 기법) (0) | 2022.07.20 |
ISTQB CTFL 요점정리 7) Test 도구 2. 동적테스팅(설계 및 분류) (0) | 2022.07.15 |
ISTQB CTFL 요점정리 6) Test 도구 1. 정적테스 (0) | 2022.07.12 |
ISTQB CTFL 요점정리 5) Test의 유형과 관리 (0) | 2022.07.10 |