※ 초록색 글씨는 암기법입니다 :)
본인이 만들어서 외워주시는게 가장 좋지만
어려운 분들을 위해 제가 외웠던 방법을 공유해드립니당 😉 ※
*동적테스팅 개요*
테스트 대상을 실행하여 결함을 검출하는 방법.
테스트 케이스(TC)를 결정해야 한다.
=> 동명구경 (동적테스트에는 명세기반, 구조기반, 경험기반이 있음)
*명세기반 테스팅*
- 소스코드를 참고하지 않고 TC를 결정. (Black Box test)
: 코드를 전혀 모르는 사람이 T를 수행하는게 좋을 수 있음.
- 적용대상에 제한 없음, 컴통시인 전 과정에서 사용가능
- T주도 개발(XP) 에서는 개발자가 먼저 TC작성 후 코드를 구현.
- 장점 : 규모가 큰 단위에서 효과적, 구현에 관한 지식 없어도 T가능, 사용자 관점이라 결함검출에 효과적.
- 명세기반은 위의 표를 그냥 외워주는게 짱인거같다... 문제가 보통 저 분류로 많이 나오는거같아서
시험 시작할 때 저 표를 어딘가 한구석에 그려두고 문제를 풀면 아주 편해요~~~~
- 동등분할과 경곗값 분석 문제는 아래처럼 직선을 그려놓고 문제에 나오는 범위를 표시하면 편하다.
💎동등분할
- 동등분할 방식으로 설계하여 TC를 선택한다고 하는 문제에서는,
문제에서 요구하는 각 영역마다 해당하는 값의 개수가 똑같이 있는 보기를 선택하면 된다.
ex) 문제에서 요구하는 영역이 [10세미만, 10대, 20대, 30대, 40세 이상] 이라고 한다면
보기에서 { 5, 12, 24, 31, 58} 인걸 고르면 정답
💎 경곗값 분석
- 경곗값 분석으로 설계하여 TC를 선택한다고 하는 문제에서는,
문제에서 요구하는 각 영역 경계 근처에 있는 값들이 있는 보기를 선택하면 된다.
ex) 문제에서 요구하는 영역이 [20세 미만, 20세~40세 미만, 40세~60세 미만, 60세 이상] 이라고 한다면
보기에서 {19, 21, 39, 41, 59, 61} 을 고르면 정답
*구조기반 테스팅*
- 소스코드를 참고해서 TC를 결정. (= White box test, Structural test)
- 프로그램에 존재하는 일부 경로만 테스트함.
=> 변기문다결조 (변기 문이 다 걸어잠겨서 구조가 필요해 ㅋㅋ)
: 변형 조건/결정T, 기본경로T, 문장T, 다중조건T, 결정T, 조건T, 결정/조건T
- 책의 exercise 문제들과 예제에 나오는 문제들을 잘 풀어보시고 꼭 이해해보세요!
💎 변형 조건/결정 테스트 (MCDC)
- 결정을 구성하는 각 조건이 독립적으로 결정의 결과에 영향을 미쳐야 함.
- x에 대한 ~ = x 빼고 나머지 값 고정 (x 만 true, false 경우 나눔)
💎 기본경로 테스트
- 여러 경로중 가장 기본 경로를 테스트. (Basis path)
💎 문장 테스트
- 프로그램의 모든 실행가능한 문장을 최소 한번은 행하는 것.
ex) int x=1 ; <----- 이런게 '문장'
- 제어흐름 그래프를 작성할 수 있어야 함.
💎 다중조건 테스트
- 모든 조건의 조합을 테스트할 수 있는 입력데이터들을 집합으로 선정.
- 문장T, 결정T, 조건T, 결정조건T 를 포용함.
💎 결정 테스트
- 결정문 기준. 모든 결정문의 결과가 참이되는 경우와 거짓이 되는 경우를 최소 한번 실행.
ex) if ( x>10 || y >0) <------ 이런게 '결정문'
- 각각의 결정문에서 결과가 true와 false가 되게 경우의 수를 구함.
- 결정T는 문장T를 포용한다. (= 결정T만족하면 문장T만족)
💎 조건 테스트
- 모든 조건문의 조건이 true가 되는 경우와 false가 되는 경우를 모두 발생시키는 경우의 수 구함.
ex) if ( x>10 || y >0) 에서 x>10, y>0 각각이 조건
- 조건T와 결정T는 서로 포용하지 않음
💎 결정/조건 테스트
- 결정T와 조건T를 모두 만족하는 TC집합.
⚡커버리지
: 얼마나 충분한 테스트를 하는지 보여주는 정량적인 지표.
- 문장 커버리지 = TC집합에 의해 실행된 문장의 수 / 전체 실행가능한 프로그램 문장수 x 100
- 결정 커버리지 = 실행된 결정문의 결과 수 / 전체 프로그램의 결정문의 결과수 x 100
- 조건 커버리지 = 실행 된 개별 조건의 결과 수 / 전체 프로그램 개별 조건의 결과수 x 100
- 결정/조건 커버리지 = 실행된 결정문과 개별 조건의 결과 수 / 전체 프로그램 결정문과 개별조건의 결과수 x100
- 다중조건 커버리지 = 실행된 조건들의 조합 수 / 전체 프로그램 개별 조건들의 조합 수 x 100
- MCDC 커버리지 = MCDC를 만족하는 조건의 개수 / 총 조건의 개수 x 100
*경험기반 테스팅*
- 기존 테스트 경험, 테스트하는 시스템이나 도메인에 대한 경험등을 바탕으로 수행.
💎 오류추정
- 개발자가 범할 수 있는 실수를 먼저 나열해보고 그 결함을 노출하는 TC를 설계하고 수행.
- 테스터의 경험과 직관을 바탕으로 하기 때문에 매우 직관적.
- 명세기반T 와 함께 사용될 수 있다. '
💎 탐색적 테스트
- T대상에 대한 이해를 바탕으로 즉석에서 TC결정 후 T수행. (이해, 설계, 실행을 병행)
- 테스터의 지식에 의존.
'knowledge > CSTS' 카테고리의 다른 글
[CSTS] 내용정리 및 암기법 7. 테스트 계획 (7문제) (1) | 2022.09.25 |
---|---|
[CSTS] 내용정리 및 암기법 6. 테스트 프로세스 개요 (3문제) (0) | 2022.09.23 |
[CSTS] 내용정리 및 암기법 4. 정적 테스팅 (7문제) (0) | 2022.09.20 |
[CSTS] 내용정리 및 암기법 3. 테스팅 방법 (7문제) (0) | 2022.09.18 |
[CSTS] 내용정리 및 암기법 2. 테스트분류 ( 11문제 ) (0) | 2022.09.16 |