New World

[ISTQB-CTFL] CTFL(Foundation Level) 정리 #4 테스트 기법 본문

Self-Study/자격증

[ISTQB-CTFL] CTFL(Foundation Level) 정리 #4 테스트 기법

hyeovi 2021. 4. 23. 20:41
728x90
반응형

4장 테스트 기법

4.1 테스트 기법의 종류

테스트 기법의 목적: 테스트 컨디션, 테스트 케이스, 테스트 데이터 식별을 지원

테스트 컨디션: 테스트할 대상의 기능, 품질속성, 트랜잭션 등 테스트 설계에 필요한 대상/조건

테스트 설계/구현: 테스트 조건 식별/설계 -> 테스트 케이스 명세화 -> 테스트 프로시저 명세화

테스트 프로시저: 테스트케이스의 실행 순서

테스트 하네스: 테스트 대상이 실행되는 환경을 시뮬레이션

 

테스팅 프로세스

-      테스팅 프로세스에서 작성되는 문서로 확인

-      성숙도 진단/심사로 베스트 프랙티스 기반의 테스트 심사 모델 활용

-      국제 표준에서 개발 프로세스와 별도로 정의

-      테스트 정책 수립 프로세스와 같이 조직 차원에서 존재

 

4.1.1      테스트 기법의 종류와 특성

블랙박스 테스트 기법

상위 레벨 테스팅, 기능/비기능 테스팅 모두 적용되며 적절한 테스트 베이시스에 대한 분석

개발 초기 단계의 명세서 리뷰, 테스트 대상의 내부 구조를 고려하지 않고 입력과 출력에 집중

 

화이트 박스 테스트 기법

상위 레벨 테스팅, 테스트 대상의 내부 구조와 처리에 집중

아키텍처, 세부 설계, 내부 구조, 테스트 대상의 코드에 대한 분석을 기반

 

경험 기반 테스트 기법

블랙박스 및 화이트박스 테스트 기법과 결합

개발자, 테스터, 사용자의 경험을 활용하여 테스트를 설계, 구현, 실행

 

4.2 블랙박스 테스트 기법

4.2.1      동등 분할

의미: 특정 파티션의 모든 변수는 동일한 방식으로 처리된다는 가정으로 파티션에 데이터 분할

유효값: 컴포넌트나 시스템에 입력되는 값

비유효값: 컴포넌트나 시스템이 거부하는 값

분할: 입력값, 출력값, 내부값, 시간관련값, 인터페이스 매개변수를 포함해 테스트 대상과 관련된 모든 데이터 요소에 대해 식별

모든 값은 동등 분할에 포함, 하나의 값은 하나의 동등 분할에만 속함

100% 커버리지 달성: 각 분할에서 최소 한 개의 값을 사용해 테스트 케이스를 작성

 

4.2.2      경계값 분석

의미: 동등 분할의 확장 형태이지만 각 파티션이 순서화, 숫자/연속 데이터로 구성된 경우에만

분할의 최소값과 최대값은 해당 분할의 경계값

 

4.2.3      결정 테이블 테스팅

시스템이 구현해야 하는 복잡한 비즈니스 규칙을 기록

시스템의 조건과 예상 동작을 식별, 모든 조건 조합을 포괄할 수 있는 충분한 테스트가 존재

 

4.2.4      상태 전이 테스팅

컴포넌트나 시스템은 현재 조건이나 기존 이력에 따라 이벤트에 대해 다르게 반응

상태 전이 다이어그램: 소프트웨어의 가능한 상태, 어떻게 진입하고 빠져나오는지에 대해

절차: 상태-이벤트 테이블 -> 전이 트리 -> 유효 TC -> 비유효 TC -> 가드/조건 TC -> 테스트 프로시저/스크립트 구성

 

4.2.5      유스케이스 테스팅

액터 간의 관계로 소프트웨어 기능에 대한 요구사항을 통합

대상이 하나 이상의 액터와 협력하여 수행할 수 있는 동작들을 명시

예외 동작 및 오류 처리를 포함한 기본 동작의 가능한 변형이 포함

 

4.3  화이트박스 테스트 기법

모든 테스트 레벨에서 적용, 테스트 대상의 내부 구조를 기반

 

4.3.1      구문 테스팅과 커버리지

코드의 잠재적으로 실행 가능한 구문을 실행

 

4.3.2      결정 테스팅과 커버리지

제어 흐름을 따라 코드에 존재하는 결정문을 실행하고 그 결과에 따라 실행되는 코드를 테스트

제어 흐름 테스트: 결정 커버리지를 달성하는 수단

 

4.3.3      구문 및 결정 테스팅의 가치

100%구문 커버리지: 모든 실행 가능한 구문을 최소한 한 번씩은 테스트

100% 결정 커버리지: 명확한 거짓 구문이 명시되지 않은 경우 모든 결정 결과가 실행

100% 구문 커버리지는 100% 결정 커버리지를 보장

커버리지 포함 관계: 구문 -> 결정 -> 결정/조건 -> 다중 조건 -> 경로

 

4.4  경험 기반 테스트 기법

테스트 케이스는 테스터의 기술 역량과 직관, 유사한 애플리케이션과 기술에 대한 경험을 기반

테스터의 접근 방식과 경험에 따라 커버리지와 효과성은 매우 다양

 

4.4.1      오류 추정

테스터의 지식을 기반으로 오류, 결함 및 장애 발생을 예측하는 데 적용하는 기술

발생 가능한 오류, 결함, 장애 목록 작성, 장애와 원인이 되는 결함을 노출하는 테스트 설계

 

4.4.2      탐색적 테스팅

세션 기반 테스팅 사용, 정해진 시한동안 수행

테스트 목적이 포함된 테스트 차터를 활용해 테스팅 방향을 설정

테스터는 테스트 세션 시트에 수행 단계와 발견 사항 기록

비공식 테스트를 테스트 실행 중에 동적으로 설계, 실행, 기록, 평가

명세 불충분, 상당한 시간적 압박이 있을 때 유용하며 공식적인 테스팅 기법을 보완하는데 유용

블랙박스, 화이트 박스, 경험 기반 기법과 통합하여 사용

테스트 실행 전 테스트 케이스 먼저 설계 X

 

4.4.3      체크리스트 기반 테스팅

체크 리스트에 기록된 테스트 컨디션을 커버하기 위해 테스터가 테스트를 설계, 구현, 실행

경험, 무엇이 중요한지 지식/소프트웨어가 실패하는 이유와 방법에 대한 이해를 기반으로 작성

기능 및 비기능 테스팅을 포함한 다양한 테스트 유형을 지원하기 위해 작성

구체적인 테스트 케이스가 없는 경우 체크리스트는 대략 지침과 일관성 제공

상위 수준으로 작성되어 실제 테스팅에서 어느 정도의 가변성 커버리지 재현 가능성

일반, 기능, 시스템 요소 체크리스트 등 여러가지 종류

테스트의 보장성 제공

 

반응형
Comments