istqb 4-테스트설계기법-2015-3-배포

25
2015, 봄 게임콘텐츠스쿨 이종원 교수 ISTQB 강의노트 7 테스트 설계 기법[4]

Upload: jongwon-lee

Post on 08-Aug-2015

217 views

Category:

Software


9 download

TRANSCRIPT

Page 1: Istqb 4-테스트설계기법-2015-3-배포

2015, 봄

게임콘텐츠스쿨이종원 교수

ISTQB 강의노트 7

테스트 설계 기법[4]

Page 2: Istqb 4-테스트설계기법-2015-3-배포

학습내용

v 구조기반 설계기법– 조건테스팅– 결정/조건테스팅– 다중조건테스팅

v 경험기반기법v 테스트 기법의 선택v 소프트웨어 특성에 따른 테스팅

Page 3: Istqb 4-테스트설계기법-2015-3-배포

[중요] and, or 연산

v AND연산(A&&B=C)

A B C

0 0 0

0 1 0

1 0 0

1 1 1

v OR연산(A||B=C)

A B C

0 0 0

0 1 1

1 0 1

1 1 1

Page 4: Istqb 4-테스트설계기법-2015-3-배포

결정포인트(조건식)

if ( a > b and a < c )

전체 조건식개별 조건식개별 조건식

Page 5: Istqb 4-테스트설계기법-2015-3-배포

요약

if (A and B) {1을 실행;

}else {

2를 실행;}

Dpoint(결정포인트) A B

0 1 0

1 1 1

결정커버리지

Dpoint(결정포인트) A B

0 1 0

0 0 1

조건커버리지

Dpoint(결정포인트) A B

0 0 0

1 1 1

조건/결정커버리지

결정포인트

Page 6: Istqb 4-테스트설계기법-2015-3-배포

조건 테스팅과 커버리지

v 결정 커버리지보다 강력v 결정포인트 내에 있는 각 개별조건식이 참과 거짓의 모든

값을 갖게 되면 달성

(x,y)조건식

(-3,-2) (0, 6)

x>=-2 F T

y<4 T F

x>=-2 and y<4 F F

if (x>=-2 and y<4)then x=y-7, y=x+y-4 조건

커버리지(개별조건식)

결정커버리지

(전체조건식)

Page 7: Istqb 4-테스트설계기법-2015-3-배포

조건과 결정 커버리지 관련 다른 커버리지들

v 다중조건커버리지 : 결정포인트 내의 개별 조건식에 대한 모든 참,거짓 조합을 모두 수행

v 변경 조건/결정커버리지 : 결정포인트 내의 다른 개별조건식의 결과와는 독립적으로 해당 개별조건식이 전체 조건식에영향을 주는 것만 테스트 수행

v 조건/결정커버리지 : 전체 조건식의 참,거짓과 개별 조건식의 참, 거짓에 대해 적어도 한번 수행

Page 8: Istqb 4-테스트설계기법-2015-3-배포

조건/결정 커버리지

v 결정 커버리지와 조건 커버리지를 모두 만족시키는 커버리지

v 앞의 예제에서 (2,1)을 추가할 경우

(x,y)조건식

(-3,-2) (0, 6) (2,1)

x>=-2 F T T

y<4 T F T

x>=-2 and y<4 F F T

결정커버리지

조건커버리지

Page 9: Istqb 4-테스트설계기법-2015-3-배포

다중 조건 커버리지

v 결정 포인트 내에 있는 모든 개별 조건식의 모든 가능한 논리적인 조합을 고려한 강력한 커버리지– 테스트 케이스 양이 방대해지므로 출시 전에 반드시

100% 결함을 제거해야 하는 제품 테스트에서 주로 사용

v 다중 조건 커버리지의 결정 테이블 예(A && B)

결정포인트 A B

1 1 1

0 1 0

0 0 1

0 0 0

모든 조건테스트

Page 10: Istqb 4-테스트설계기법-2015-3-배포

변경 조건/결정 커버리지(MC/DC)

v 모든 결정포인트 내의 전체 조건식은 적어도 한 번 모든 결과값(참, 거짓)을 가진다.

v 결정 포인트 내의 모든 개별 조건식은 적어도 한 번 모든 가능한 결과값(참, 거짓)을 가진다.

v 각 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식의 결과에 독립적으로 영향을 줌

v 전체 조합을 테스트 하는 것은 현실적으로 불가능하므로 가능한한 의미있게 조합의 수를 줄여 테스트하자는 것.

결정포인트 A B

1 1 1

0 1 0

0 0 1

0 0 0

MC/DC에서는제외

Page 11: Istqb 4-테스트설계기법-2015-3-배포

커버리지 간의 포함관계

구문

다중 조건커버리지

변경 조건/결정 커버리지

조건/결정 커버리지

결정 커버리지 조건 커버리지

Page 12: Istqb 4-테스트설계기법-2015-3-배포

기본경로 테스팅

v 사이클로메틱(cyclomatic) 복잡도– 기본경로=분기점 + 1

– 여기서 기본경로는?

s1

d1

d2

s2 s3

s4

Page 13: Istqb 4-테스트설계기법-2015-3-배포

경험기반테스팅

v 유사 소프트웨어나 기술의 경험, 직관, 테스터의 기술능력으로부터 테스트 케이스를 추출하는 기법

v 공식적인 기법을 적용한 후에 경험기반기법을 적용v 공식적인 기법이 찾기 어려운 결함 발견 가능

– 찾아낼 수 있는 결함의 종류가 제각기 다름– 테스터의 경험에 따라 효과가 다름(일관성이 떨어져 관리

하기 어려움)

Page 14: Istqb 4-테스트설계기법-2015-3-배포

경험기반테스팅의 종류

v 탐색적 테스팅

v 오류 추정v 체크리스트v 스크립트 기반 테스팅v 분류 트리 기법 (공식적으로도 사용)

Page 15: Istqb 4-테스트설계기법-2015-3-배포

탐색적 테스팅 접근법[1]

v 기법이 아니고 접근법임v 정해진 임무와 목표, 결과물이 존재

– 테스트 목표를 포함한 테스트 차터를 기반으로– 정해진 시간 내에 (60~120분)– 테스트설계, 실행, 기록과 학습을 진행

v 테스트 케이스를 먼저 디자인하지 않고 테스트 대상 제품을수행하면서 익숙해지는 것과 동시에 테스트 케이스를 작성하고 테스트를 수행

v 명세가 거의 없고 시간이 부족한 경우, 공식적인 기법을 보충할 경우, 가장 심각한 결함을 모두 발견했다는 것을 확인하는 목적으로 사용

Page 16: Istqb 4-테스트설계기법-2015-3-배포

탐색적 테스팅 접근법[2]

v 단순히 경험적으로 테스트하는 것과 탐색적 테스팅은 다름– 탐색적 테스팅은 경험적 요소를 많이 반영하여 체계화된

테스팅 접근법– 탐색적 테스팅의 컨셉을 반영하여 테스팅해야함– 테스트 설계기법에 대한 이해는 기본

v 탐색적 테스팅은– 매우 능숙한 상태에서 머릿속에서 테스트를 설계– 테스트 케이스 작성에 드는 노력을 최소화– 절약한 시간을 테스트에 집중

Page 17: Istqb 4-테스트설계기법-2015-3-배포

탐색적 테스팅 접근법[3]

v 탐색적 테스팅 구성요소– 제품 탐색– 테스트 설계– 테스트 실행– 직관– 검토 가능한 결과물

• 테스트한 제품에 대한 기록(노트)• 발견된 결함과 장애에 대한 기록(노트)• 어떻게 테스트 되었는지를 기술하는 요약 문석

Page 18: Istqb 4-테스트설계기법-2015-3-배포

탐색적 테스팅 접근법[4]

v 탐색적 테스팅 절차– 제품의 목적 식별– 기능 식별– 잠재적으로 불안정한 부분 식별– 각각의 기능 테스트 및 문제점 기록– 일관성 검증 테스트 설계 및 기록

Page 19: Istqb 4-테스트설계기법-2015-3-배포

탐색적 테스팅 접근법[5]

v 테스트 차터– 무엇을 어떻게 테스트할 것인지 제안한 내용으로 각 세

션당 수행할 임무 명시– 시간제한 : 각 세션당 수행할 시간 명시– 265쪽 양식 참조

v 테스트 노트와 요약보고– 탐색적 테스팅의 산출물– 머릿속으로 계획하고 설계한 테스트 케이스를 간단하게

작성 -> 테스트 노트– 탐색적 테스팅의 한 세션 종료후 팀원끼리 요약보고

• 결함과 이슈사항, 테스팅 방법 등 공유

Page 20: Istqb 4-테스트설계기법-2015-3-배포

탐색적 테스팅 접근법의 장점

v 경험적 테스팅을 체계화할 수 있다.v 테스트 케이스를 작성하는 시간을 줄여 보다 많은 테스트를

실행할 수 있다.v 테스터 또는 테스트 엔지니어의 역량을 월등히 향상시킬 수

있다.v 적은 테스트 인력으로 많은 테스트를 수행할 수 있다.v 명세가 거의 없고 시간이 부족한 경우 효과적/효율적으로

수행할 수 있다.

Page 21: Istqb 4-테스트설계기법-2015-3-배포
Page 22: Istqb 4-테스트설계기법-2015-3-배포

고급기법[1]

v 명세기반기법– 분류트리기법: 163쪽 그림 4.25– 페어와이즈 조합 테스팅 : 165쪽 표 4.42– 직교 배열 테스팅

v 구조기반기법– 결정테이블

Page 23: Istqb 4-테스트설계기법-2015-3-배포

고급기법[2]

v 경험기반기법– 오류 추정

• 가능한 오류를 모두 나열하고 이를 공격할 수 있는 테스트를 설계: 결점 공격

• 스펙 불충분한 경우, 시간압박 심한 경우, 다른 공식적기법 보완할 때 유용

– 체크리스트• 경험과 노하우를 정리하고 목록화• 일반체크리스트, 기능 체크리스트, 시스템 요소 체크

리스트• 175쪽 상단 박스 참조

Page 24: Istqb 4-테스트설계기법-2015-3-배포

테스트 기법의 선택

v 시스템의 유형v 강제적인 표준 또는 법적 기준의 존재 여부v 고객 또는 계약상의 요구 사항v 리스크 수준v 리스크 유형v 테스트 목표v 문서의 존재 유무v 테스터의 지식 수준v 시간과 예산v 테스트 레벨v 개발 수명주기v 유즈케이스, 상태 다이어그램 등 모델 존재 유무v 발견된 결함 유형에 대한 이전의 경험

Page 25: Istqb 4-테스트설계기법-2015-3-배포

ISO/IEC 9126

v 기능성, 신뢰성, 효율성, 사용성, 이식성, 유지보수성

v 기능성: 적합성, 정확성, 상호운영성, 보안성, 준수성v 신뢰성: 성숙성, 오류허용성, 회복성, 준수성v 사용성: 이해성, 학습성, 운영성, 친밀성, 준수성v 효율성: 시간반응성, 자원효율성, 준수성v 유지보수성: 분석성, 변경성, 안정성, 시험성, 준수성v 이식성: 적응성, 설치성, 대체성, 공존성, 준수성

v 176쪽~181쪽 참조