먼지 쌓인 키보드

[ISTQB CTFL] 실라버스 B유형 문제 정리/요약 본문

공부 관련/소프트웨어 QA

[ISTQB CTFL] 실라버스 B유형 문제 정리/요약

Under_Desk 2019. 11. 24. 00:22
반응형

 

 

 

 

 

 

 

 

 

 

* 테스트 케이스의 정의

- 특정 테스트 컨디션을 위해 개발된 입력값, 기대 결과, 실행 사전 조건, 실행 사후조건의 조합

 

 

 

* 테스팅의 주요 목적

- 결함 예방과 장애 및 결함 발견

- 테스트 대상의 품질 수준에 대한 자신감 획득

 

 

 

* 장애

- 예상했던 기능과 다른 부분

 

 

 

* 테스트 활동과 업무

테스트 설계 : 테스트 케이스에서 수행할 테스트 데이터 식별

테스트 구현 : 테스트 프로시저의 우선순위화와 테스트 데이터 생성

테스트 실행 : 불일치를 분석하여 해당 불일치의 원인 판단

테스트 완료 : 미해결 결함에 대한 상태 변경 요청

 

 

 

* 테스터와 개발자 차이

개발자 < 테스터 : 무엇이 잘못될지 예견할 수 있는 능력

개발자 : 제품/서비스를 설계하고 구축하는데 더 관심이 있음

 

 

 

* 소프트웨어 개발 수명주기

- 각 개발 활동에 대응하는 테스팅 활동이 있어야함.

- 문서의 초기버전이 작성되면 리뷰를 시작

- 테스트 분석과 설계야말로 대응하는 개발

- 테스팅 활동은 소프트웨어 개발 수명주기의 초기 단계에 시작

 

 

* 컴포넌트 통합 테스팅(모듈 테스팅)

- 인터페이스 명세를 기반

- 통신 장애를 찾는데 초점을 맞춤

- 테스트 접근 방법으로 기능 및 구조적 테스트 유형을 사용

 

 

 

 

* 테스트 유형과 테스트 레벨

모든 테스트 유형이든지 모든 테스트 레벨에서 수행할 수 있음

 

 

 

* 확인 / 리그레션 테스팅

확인 : 전에 찾은 결함이 수정되었는지를 확인

리그레션 : 수정에 의해 시스템의 다른 부분에 영향이 없는지 확인

 

 

 

* 유지보수 영향도 분석의 역할

영향도 분석 : 유지보수 시스템의 변경이 그만한 가치가 있는지 결정할 때 사용

수정에 영향을 받는 시스템 영역을 파악하는데 사용

 

 

* 정적 테스팅

- 리뷰를 도입함으로써, 명세의 품질이 좋아지며, 개발과 테스팅에 필요한 시간이 줄어듬

- 동적 테스팅만 수행했을때는 발견하지 못했던 코딩 결함을 찾을 수 있다.

 

 

 

* 공식 리뷰의 역할

관리자 ; 리뷰 수행 여부를 결정, 비용 효율성을 지속적으로 모니터링

중재자 : 리뷰 회의가 효과적으로 진행되도록 함

작성자 : 리뷰 후 작업 산출물의 결함을 수정

 

 

 

* 리뷰

서기 역할이 있다 : 워크쓰루, 기술 리뷰, 인스펙션

잠재젹 결함을 찾는 것 : 모든 리뷰 유형의 목적

미팅은 저자가 주도 : 인스펙션은 저자가 주도하지않음

리뷰어들은 개별 리뷰를 통해 잠재 결함을 발견 : 모든 리뷰 유형에 개별 리뷰가 포함

 

 

 

* 탐색적 테스팅

테스터가 테스트를 수행할 때 테스트 설계를 적극적으로 제어하고 새롭고 더 나은 테스트 설계를 위해 테스트하는 동안 얻은 정보를 사용하는 비공식적인 테스트 설계 기법

 

 

 

 

* 블랙박스

요구사항과의 차이를 확인

사용자 스토리를 테스트 베이시스로 사용

* 화이트박스

테스트 대상의 선택 구조에 기초해 커버리지 측정

테스트 대상 내부의 진행절차 확인

* 경험기반 기법

일어날 가능성이 있는 결함과 그 분포를 기반으로 테스트

 

 

 

 

* 동등 분할 = 특정 파티션

모든 분할의 각 분할에서 최소 한 개의 값을 사용해 테스트 케이스를 작성

 

 

 

 

* 상태 전이 테스팅

상태 전이 다이어그램은 일반적으로 유효한 전이만 보여줌

커버리지 측정 : 일반적으로 백분율료 표시. (테스트된 전이 수 / 전체 전이 수)로 계산

 

 

 

*유스케이스 테스팅

- 유스케이스 : 소프트웨어 기능에 대한 요구사항을 통합

소프트웨어 항목간의 상호작용을 설계하는 특정 방법

액터(사용자, 하드웨어, 컴포넌트, 시스템)와 대상(유스케이스를 적용하는 컴포넌트나 시스템)간의 관계

- 기능에 초점을 맞추고 있어 사용자 인터페이스의 사용성은 고려하지않음

 

 

 

* 구문 테스팅과 커버리지

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

- 구문 커버리지(백분율)

(테스트로 실행한 구문의 수) / (테스트 대상의 모든 실행 가능한 구문의 수)

* 결정 테스팅과 커버리지

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

- 결정 커버리지(백분율)

(테스트로 실행된 결정문 결과의 수) / (테스트 대상의 가능한 모든 결정문 결과의 수)

 

 

 

 

* 오류 추정

- 테스터가 과거의 경험에 비추어 테스트 대상에 어떤 결함이 있을지, 개발자가 어떤 실수를 했을지 추측

 

 

* 테스트 독립성의 이점

- 독립적인 테스터는 가지고 있는 다양한 배경, 기술적인 관점, 성향이 달라 개발자와는 다른 유형의 장애를 찾아낼수있음

- 독립적인 테스터는 이해관계자가 시스템 명세를 정의하고 구현하면서 만든 가정에 대해 확인하고 이의를 제기하고 틀렸음을 입증할수있음.

(비교)

* 테스트 독립성의 단점
- 개발팀과의 고립으로 협업이 어렵고 개발팀에게 피드백 전달이 늦어져 개발팀과 적대적인 관계가 형성될수있음

- 개발자가 품질에 대한 책임감을 잃을 수 있음

 

 

 

* 테스트 매니저/관리자

- 테스트 수행 중 수집한 정보를 기반으로 테스트 요약 보고서 작성

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

- 테스트 계획서 작성과 업데이트

 

(비교)

* 테스터

- 다른 사람이 작성한 테스트 케이스 리뷰

- 상세 테스트 수행 일정 수립

- 요구사항, 명세 및 테스트 용이성 모델의 분석, 리뷰, 평가

 

 

* 테스트 시작/종료조건

시작조건

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

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

- 테스트 환경 가용 여부

종료조건

- 계획한 테스트 실행 완료

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

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

- 추정 잔존 결함의 수가 충분히 적음

- 신뢰성, 수행 효율성 등등에 관련된 품질 특성의 수준이 원하는 수준에 도달

 

 

 

 

* 테스트 케이스 우선순위와 종속성

- 테스트 케이스는 우선순위에 따라 일정을 수립해야하지만 종속성도 함께 고려해야함

예제문제)

테스트케이스

우선순위

기술적 종속성

논리적 종속성

TC1

TC4

 

TC2

 

 

TC3

 

TC4

TC4

 

 

TC5

 

TC2

TC6

TC5

 

풀이

1. 높음 우선순위는 (TC1, TC3)

2. (TC1TC3)TC4에 종속

3. 그렇기 때문에 순서는 TC4-TC1-TC3이거나 TC4-TC3-TC1

4. 중간 우선순위는 TC4TC6이지만 TC4는 제외하여 TC6이 와야함

5. TC6TC5에 종속

6. TC5TC2에 종속

7. (TC2-TC5-TC6) 순서가 됨

8. 최종은 (TC4-TC1-TC3-TC2-TC5-TC6)이거나 (TC4-TC3-TC1-TC2-TC5-TC6)

 

 

 

 

* 테스트 추정 기법

- 추정 : 테스팅 시작전 계획을 돕기위해 필요한것

- 메트릭 기반 기법

기존 유사한 프로젝트에서 얻은 메트릭에 기반하거나 보편적인 값을 바탕으로 테스트 노력 예측

- 전문가 기반 기법

테스팅 작업의 책임자나 전문가의 경험을 기반으로 테스트 노력 예측

 

 

 

* 리스크

- 미래에 부정적인 결과를 가져오는 이벤트의 발생 가능성

- 리스크 수준은 이벤트 발생 가능성과 이벤트로 인한 영향도로 결정

(= 리스크 수준은 원치 않는 일이 일어날 가능성과 그 영향도의 조합으로 결정)

 

* 제품 리스크 vs 프로젝트 리스크

- 제품 리스크 : 작업 산출물이 사용자나 이해관계자의 합당한 니즈를 충족하지 못할 가능성

- 프로젝트 리스크 : 발생하면 프로젝트 목적 달성 능력에 부정적인 영향을 줄 수 있는 상황

 

 

 

 

 

 

 

 

* 파일럿 프로젝트

- 도구 선택과 사전 검증이 성공적으로 끝난 다음 선택한 도구를 조직에 도입하는 시점

* 파일럿 프로젝트의 목적

- 깊이 있는 도구 지식의 습득

- 도구를 기존 프로세스와 프랙티스에 어떻게 적용할지 평가하고 무엇을 변경할지 결정

- 도구와 테스트 자산의 사용, 관리, 저장, 유지보수에 대한 기준 결정

- 목표한 가치를 적절한 비용으로 달성할 수 있는지 평가

 

 

 

 

 

 

 

반응형
Comments