먼지 쌓인 키보드

[ISTQB CTFL] 실라버스 A유형 문제 정리/요약 ( 21~40번 ) 본문

소프트웨어 QA

[ISTQB CTFL] 실라버스 A유형 문제 정리/요약 ( 21~40번 )

Under_Desk 2019. 11. 2. 03:58
반응형

 

 

 

 

 

 

 

* 결정 테스팅과 커버리지

결정 테스팅 : 코드에 존재하는 결정문을 실행하고 결정문의 결과에 따라 실행되는 코드를 테스트

결과 커버리지 : 일반적으로 백분율로 표기하며, 테스트로 실행된 결정문 결과의 수를 테스트 대상의 가능한 모든 결정문 결과의 수로 나눠서 계산

* 구문 테스팅과 커버리지

구문 테스팅 : 코드의 실행 가능한 구문을 실행

구문 커버리지 : 일반적으로 백분율로 표기하며 테스트로 실핸한 구문의 수를 테스트 대상의 모든 실행 간으한 구문의 수로 나눠서 계산

 

 

 

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

- 100% 구문 커버리지를 달성하면 코드에 존재하는 모든 실행 간으한 최소한 한번씩은 테스트했다는 것

(하지만 모든 결정 로직을 테스트했다는 것을 보장하지않음)

- 결정 테스팅은 구문 테스팅보다 커버리지가 높다.

- 구문 커버리지는 다른 테스트에 의해 실행되지 않은 코드의 결함을 찾는데 도움

- 결정 커버리지는 다른 테스트가 참과 거짓 결과 모두를 테스트하지 않은 코드의 결함을 찾는데 도움

- 100%결정 커버리지는 100% 구문 커버리지를 보장 ( 반대는 해당X )

- 결정 커버리지가 구문 커버리지보다 더 강력

 

 

 

* 탐색적 테스팅

- 유사한 애플리케이션에 대한 지식과 기술을 가진 숙련된 테스터가 수행해야함

- 테스터는 탐색적 테스팅을 수행하면서 끊임없이 결정을 내려야함

- 명세가 충분하지않거나, 테스팅 시간이 부족하거나 시간적 압박이 심할 때 가장 유용하게 사용

 

 

 

* 동등 분할 분석

- 유효값 : 컴포넌트나 시스템에 입력되는 값 <-> 비유효값 : 컴포넌트나 시스템이 거부하는 값

- 입력값, 출력값, 내부값, 시간 관련값( 예: 이벤트 전 또는 후 ), 인터페이스 매개변수( 예 : 통학테스팅에서 테스트하는 통합 컴포넌트)를 포함하여 테스트 대상과 관련된 모든 데이터 요소에 대해 식별

예제문제1

보너스 산정 기준 (2년 이하, 2년초과~5년미만, 5년이상~10년미만, 10년 이상)

1.동등파티션: 0<근무연한<=2 2.동등파티션: 2<근무연한<=5

3.동등파티션: 5<근무연한<=10 4.동등파티션: 10<근무연한

 

예제문제2

비디오 애플리케이션 요구사항

640x480 1280x720 1600x1200 1920x1080

이 요구사항은 개별적인 값들이 열거되어 있는 경우므로, 각각의 값이 그 자체로 동등분할 파티션이 됨

테스트 케이스 4가지

 

 

 

 

 

* 포인트 경계값 분석

동등분할을 수행하여 경계값 도출 가능

예제문제)

- 50 km/h 이하로 주행 시 아무 것도 하지 않음

- 50 km/h 초과, 55 km/h 이하로 주행 시 경고를 보냄

- 55 km/h 초과, 60 km/h 이하로 주행 시 벌금이 부과됨

- 60 km/h 초과로 주행 시 운전 면허가 중지됨

 

1. ~50 2-포인트 경계값 : 50, 51

2. 51~55 2-포인트 경계값 : 50, 51, 55, 56

3. 56~60 2-포인트 경계값 : 55, 56, 60, 61

4. 61~ 2-포인트 경계값 : 60, 61,

 

 

* 상태 전이 테스팅

일반적으로 유효한 전이만 보여줌

비유효 전이는 표시하지않음

 

 

 

* 테스터와 테스트매니저 차이

   *테스트 매니저 / 테스트 관리자

- 테스팅 활동 계획, 모니터하고 제어

- 테스트 정책과 테스트 전략을 개발하고 리뷰

- 테스터의 역량과 경력 개발

- 테스트 환경 구축에 관한 결정

- 테스트 케이스 작성 X

   *테스터

- 테스트 계획을 리뷰하고 계획 작성에 참여

- 도구사용

- 테스트 내용을 구체화하고 실행

- 테스트 우선순위를 정하고 실행

 

 

 

* 테스팅에 사용하는 메트릭 ( 메트릭 : 측정에 쓰이는 측정 척도와 방법 )

테스팅 활동 중이나 종료 시점에 아래와 같은 사항을 평가하기 위해 메트릭을 수집

- 계획한 일정과 예산 대비 진행 상황

- 테스트 대상의 현재 품질

- 테스트 접근법의 타당성

- 목적 대비 테스트 활동의 효과

 

 

 

* 테스트 계획의 목적과 내용

테스트 계획 : 개발 및 유지보수 프로젝트의 테스트 활동에 대한 전반적인 내용을 담음

제품의 수명주기 전반에 걸쳐 이루어지는 지속적인 활동

 

 

 

*테스팅의 일반적인 시작조건과 종료(완료) 조건

시작 조건

- 테스트 가능한 요구사항, 사용자 스토리나 모델의 가용 여부

- 이전 테스트 레벨의 종료 조건을 충족한 테스트 항목의 가용 여부

- 테스트 환경 가용 여부

- 필요한 테스트 도구 가용 여부

- 테스트 데이터와 기타 필요한 자원의 가용 여부

종료 조건

- 계획한 테스트 실행 조건

- 정의한 커버리지 수준의 도달

- 해결하지 못한 결함 수가 합의된 수보다 적음

- 신뢰성, 수행 효율성, 사용성, 보안성, 기타 관련된 품질 특성의 수준이 원하는 수준에 도달

 

 

 

* 테스트 프로젝트 초기

통과/실패 기준에 대한 정의, 테스팅의 목적

* 테스트 보고서에 들어가는 내용

- 테스트 접근법과의 차이

- 완료 기준 대비 실제 진척률 측정

- 테스트 항목의 품질 측정

 

 

 

*테스트 전략과 테스트 접근법

분석적

- 리스크 수준에 기반해 테스트를 설계하고 우선순위화

- 이 테스트 전략은 몇가지 요인(예 : 요구사항 또는 리스크) 분석을 기반

방법론적

- 사전에 정의된 일련의 테스트 컨디션을 체계적으로 사용

모델기반

- 요구되는 제품의 특정 측명에 대한 모델을 기반

- 제품의 필수적 측면에 대한 상태 전이 다이어그램을 기반으로 테스트

전문가조언 / 자문

- 주로 이해관계자, 비즈니스 도메인 전문가, 기술 전문가등의 조언, 지도 지시를 바탕

- 관련 비즈니스의 전문가의 관점에 기반해 테스트 항목을 선택

프로세스 준수 / 표준 준수

- 외부 규정이나 표준을 기반으로 테스트를 분석, 설계 구현

(예: 특정 산업 표준에서 제시하는 규정이나 표준, 프로세스의 문서화 등)

리그레션-기피

- 기존 기능에 대한 리그레션 테스트 기피를 목표

(기존 테스트웨어의 재사용, 리그레션 테스트 자동화 확대, 테스트 스위트 표준화가 포함)

반응적

- 테스트 대상 컴포턴트나 시스템에 따라 대응하고 테스트 실행 중 발생하는 이벤트에 따라 반응적으로 수행

 

 

 

* 메트릭 기반 접근

- 과거 유사한 프로젝트의 메트릭에 기반해 테스팅 노력을 추정하거나 전형적인 값을 기반

 

 

 

* 종속관계

R1 -> R3 는 R3가 R1에 종속

* 이상적인 테스트 케이스 실행 순서

- 가장 우선순위가 높은 테스트 케이스를 먼저 실행

(예외사항)

- 실제로 테스트 케이스간에 종속관계가 있거나 테스팅 대상의 기능 자체가 종속관계라면 우선순위에 따라 실행하지 못할 수 있다.

- 높은 테스트케이스가 우선순위 낮은 테스트 케이스에 종속되어있다면 낮은 우선순위를 가진 테스트 케이스를 먼저 실행

 

 

예제문제) 요구사항의 종속관계에 따라 테스트 실행 일정을 구성한 것은?

 

우선순위 : R1-R2-R3-R4-R5-R6....

 

(중복수행할 필요없음)

1. R1 – R2

(R3->R2이므로 종속되어있는 R2는 R3보다 늦게 실행)

R1 – R3 – R2

 

2. R1 – R3 – R2

(R1, R2, R3의 다음 순서인 R4를 시작해야하지만, R4 종속되어있는 R2, R5, R6가 R4전에 실행되어야함)

R1 – R3 – R2- R5 – R6

 

3. R1 – R3 – R2 – R5 – R6

( R2,R5,R6에 종속되어있는 R4와 R7가 남았고, 둘다 종속되어있으므로 원래의 우선순위인 R4가 먼저 실행되고 그 뒤 R7이 실행되어야함)

R1 – R3 – R2 – R5 – R6 – R4 - R7

 

 

 

 

* 결함보고서의 내용

- 식별번호

- 제목, 보고하는 결함에 대한 짧은 요약

- 결함 보고 날짜, 보고 주체 조직 및 작성자

- 테스트 항복 식별자와 환경

- 결함을 발견한 개발 수명주기 단계

- 로그, 데이터베이스 덤프, 스크린샷, 녹화 기록(테스트 실행 중 녹화됐다면)등의 결함 재현과 해결을 위한 설명

- 기대 및 실제 결과

- 이해관계자의 관점에서의 결함 영향도(심각도)의 범위와 정도

- 수정 우선순위 (긴급하게 처리해야하는 순서)

- 결함 보고서의 상태

- 결론, 의견, 승인 여부

- 글로벌 이슈

- 변경 이력

- 참조

 

 

 

* 테스트 실행 지원 도구 사용의 이점

- 반복적인 수동업무의 감소로 시간 절약

- 월등한 일관성과 반복성 제공

- 보다 객관적인 평가 기준 제공

- 테스팅 관련 정보에 접근이 쉬움

 

* 테스팅 지원 도구의 잠재적인 리스크

- 도구에 대한 비현실적인 기대

- 초기 도구 도입에 필요한 시간, 비용 노력에 대한 과소평가

- 도구로 의미있고 지속적인 효과를 얻는데 필요한 시간과 노력을 과소평가

- 도구가 생성하는 테스트 자산을 유지하기 위한 노력의 과소평가

- 테스트 자산에 대한 버전의 관리 소홀

- 다수의 공급업체에서 제공하는 주요 도구간의 관계와 상호운용성 이슈를 관리하지않음

- 지원, 업그레이드, 결함 수정에 대한 공급업체의 부적절한 반응

- 도구 공급 업체의 판매 중단이나 폐업과 같은 위험성

- 오픈소스 프로젝트는 연기되거나 중단될수있음

- 도구가 새로은 플랫폼이나 기술을 지원하지 않음

- 도구의 소유권이 명확하지않음

요약 => 1. 도구를 사용하는것에 대한 노력이 과소평가되거나 도구의 효과를 과대평가하는 경향이 있음

2. 도구 공급업체에 의존해야하기 때문에 업체의 사정에 따라 위험이 발생.

 

 

 

 

* 테스트 도구의 분류

- 테스팅 및 테스트웨어 관리 지원 도구

요구사항 관리 도구, 결함 관리 도구, 형상 관리 도구, 지속적인 통합 도구(개발자 지원)

 

- 정적 테스팅 지원도구

리뷰 지원 도구, 정적 분서거 도구(개발자 지원)

 

- 테스트 설계 및 구현 지원 도구

테스트 설계 도구, 모델 기반 테스팅 도구, 테스트 데이터 준비 도구, 인수테스트 주도개발과 행위 주도 개발 도구, 테스트 주도개발 도구

 

- 테스트 실행 및 로깅 지원 도구

테스트 실행도구, 커버리지 도구, 테스트 하네스, 단위 테스트 프레임워크 도구

 

- 성능 측정과 동적 분석 지원 도구

성능 테스팅 도구, 모니터링 도구, 동적 분석 도구(개발자 지원)

 

- 테스트 목적 테스팅 지원 도구

데이터 품질 평가, 테이터 변환/마이그레이션, 사용성/접근성/현지화/보안/이식성 테스팅

(이식성 테스팅 : 여러개의 지원 플랫폼에서 소프트웨어를 테스트)

 

 

반응형
Comments