혜니니의 공부방
ISTQB Syllabus 정리 요약본 본문
**단어 정리**
* Error(오류)
* Defect(결함) = Bug -> Failure(장애)=결함+개선점= Issue=Incident
테스트 베이시스: 개발 산출물
테스트 스위트: 테스트케이스의 묶음
테스트 시나리오: 테스트 스위트+스토리
테스트 프로시저: 테스트케이스의 실행 순서
테스트 하네스: 실행 환경
테스트 오라클: 경쟁제품/메뉴얼/개인경험으로 기대결과 = 자동화 불가
Driver(상향식 모델)/Stub(하향식 모델)
성능 테스트 = 부하 테스팅+스트레스 테스팅
부하 테스트: 요구사항대로 버티는지
스트레스 테스트: 스트레스를 주면서 죽는 시점까지 테스팅
Validation(확인): 사용자 요구사항대로, 사용자 검증
Verification(검증): 감리, 검증된 재료로 설계도 지침으로 만들었는지
1. 테스팅의 기초
1) 테스팅의 목적
- 작업 산출물 평가에 의한 결함 예방
*목적에 따라 정황이 달라지는 경우 1. 컴포넌트 테스트 2. 인수테스트
2) 테스팅과 디버깅
* 테스팅: 소프트웨어 결함으로 인한 장애를 찾아낼 수 있음
* 디버깅: 그런 장애의 원인을 찾고 분석해서 수정하는 개발 활동
3) 품질보증과 테스팅
*품질 관리에 속하며 품질 보증은 적절한 품질 수준을 달성했는지 확신을 얻기 위해 적절한 프로세스를 준수하도록 하는 것에 초점
*테스팅 = 품질제어+ 테스팅
4) 테스팅의 7가지 원리
- 테스팅은 결함이 존재함을 밝히는 활동이지, 결함이 없음을 밝히는 활동이 아니다.
- 완벽한 테스팅은 불가능하다.
- 조기 테스팅으로 시간과 비용을 절약할 수 잇다.
- 결함은 집중된다.
- 살충제 패러독스
(같은 테스트를 반복해서 실행할 경우 결함을 더이상 발견할 수 없다.)
- 테스팅은 정황에 의존적이다.
- 오류의 부재는 궤변이다.
(많은 결함을 발견했다고해서 시스템의 성공이 보장되었다고 생각하는 것은 궤변)
5) 테스트 프로세스
-설정한 목적의 달성 가능성을 높여주는 공통적인 테스트활동 세트
계획-모니터링/제어-분석-설계-구현-실행-완료
6) 테스팅의 심리학
- 다툼보다는 협력으로 시작하라
- 테스팅의 이점을 강조하라.
- 테스트 결과와 기타 발견 사항을 중립적이면서 사실에 기반을 둔 방법으로 전달해야한다.
- 상대방 반응의 이유를 이해해야한다.
- 서로의 전달 내용을 제대로 이해했는지 확인
2. 소프트웨어 개발 수명주기와 테스팅
1)순차적 모델
- 폭포수 모델
- V모델
2) 반복적 점진적 개발 모델
- 레셔널 통합 프로세스
- 스크럼
- 칸반
- 나선형
- 애자일
3) 테스트 레벨
:함께 분류되고 관리되는 테스트 활동의 집합
3.1. 컴포넌트 테스팅
- 단위 혹은 모듈 테스팅
- 기능, 비기능 특성, 구조적 속성 등을 커버
3.2. 통합 테스팅
-리스크 완화
-인터페이스 기능과 비기능 동작이 설계 및 명세와 일치하는지 여부 판단
* 지속적인 통합 테스팅은 이상적으로 여러 테스트 레벨에 자동 리그레션 테스팅을 적용
3.3 시스템 테스팅
` -시스템의 기능/비기능 동작이 설계 및 명시된 대로 이루어지는지 검증
-데이터 품질검증
3.4 인수 테스팅
-완성된 시스템이 기대한 대로 동작하는지 확인
-사용자 인수 테스팅 : 시뮬레이션/실제 운영 환경에서 사용자가 사용하기 얼마나 적합한지 확인
-운영 인수 테스팅: 시스템 관리자가 비록 예외/어려운 조건에서도 사용자를 위해 시스템을 정상적으로 유지할 수 있다는 자신감을 얻는 것
-계약 및 규제 인수 테스팅: SW생산을 위한 계약서에 명시된 인수 조건을 가지고 수행
-알파/베타 테스팅: 소프트웨어 제품을 출시 전 고객,신규사용자,운영자 등으로부터 피드백을 받기 원하는 상용 소프트웨어 개발자
4) 테스트 유형
4.1 기능 테스팅
: 시스템이 수행해야하는 기능을 평가하기 위한 테스팅을 표현
- 블랙박스 기법 활용
4.2 비기능 테스팅
: 사용성, 성능 효율성 또는 보안성과 같은 시스템 특성을 평가 "얼마나 잘 작동하는가?"
4.3 화이트박스 테스팅
: 시스템 내부 구조나 구현을 기반으로 테스트를 도출
-> 구조 커버리지를 통해 측정
4.4 확인 테스팅
:결함을 제대로 수정했는가 확인
4.5 리그레션 테스팅
:의도하지 않은 부작용 = 리그레션, 의도하지 않은 부작용을 발견하기 위한 테스트
5) 유지보수 테스팅
: 변경의 성공 여부를 평가하고 시스템이 변경되지 않은 부분에서 부작용의 발생 여부를 확인하기 위해
-영향도 분석 실시
3. 정적 테스팅
: 산출물을 수동으로 검사하거나 코드나 다른 작업 산출물을 도구를 기반으로 평가하는 방법에 의존
1)효과
-결함의 조기발견
-개발 생산성 향상
-개발,테스팅 비용 및 기간 단축
-요구사항 불일치,애매모호,모순,누락 등 식별하여 설계,코딩의 결함 예방
- 동적테스트 실행 전 보다 효율적으로 결함을 발견하고 수정
2) 동적테스팅과의 차이
:서로 발견하는 유형의 결함이 달라 상호 보완적
->직접 결함을 발견한다
->훨씬 적은 노력으로 결함을 발견할 수 있다.
-> 산출물의 일관성과 내부 품질을 향상하기 위해 사용하나 동적은 일반적으로 외부에 보이는 동작에 초점을 맞추고 있다.
3) 리뷰 프로세스
계획- 리뷰 착수- 개별리뷰- 이슈논의/분석 - 수정 및 보고
4)역할과 책임
*저자 : 산출물 작성/결함 수정
*관리자: 계획/실행결정/인력,예산,시간 할당/모니터링/제어 결정 실행
*검토자: 해당 주제의 비즈니스 배경을 가진 사람/잠재적 결함 식별/다양한 관점 대표
5)비공식 리뷰
-버디체크,페어링,짝 리뷰
-워크쓰루
-기술리뷰
-인스펙션
6) 리뷰 기법 적용
- 애드혹
-체크리스트 기반
-시나리오 및 드라이 런
-관점 기반
-역할 기반
7) 리뷰의 성공 요소
- 리뷰는 명확한 목적이 있어야한다.
- 모든 리뷰 기법은 리뷰 대상 작업 산출물의 결함을 효과적으로 식별하기에 적합해야한다.
4. 테스트 설계 기법
1) 블랙박스 테스트 기법
2) 화이트박스 테스트 기법
3) 경험기반 테스트 기법
5. 테스트 관리
1) 독립적인 테스팅
- 독립적인 테스팅의 독립성 수준
잠재적 이점
-독립적인 테스터는 배경/관점/성향이 달라 개발자와는 다른 유형의 장애를 찾아낼 수 있다.
-이해관계자가 시스템 명세를 정의하고 구현하면서 만든 가정에 대해 확인하고 이의를 제기하고 틀렸음을 입증 가능
-벤더의 독립 테스터는 테스트할 시스템일 고용한 회사의 압박 없이 객관적으로 보고 가능
잠재적 단점
-개발팀과 협업이 어려울 수 있다. 소통 불가
-개발자가 품질에 대한 책임감을 잃을 수 있다.
-병목현상의 장본인으로 비춰질 수 있다.
-중요한 정보를 전달받지 못할 수 있음.
2) 테스트 관리자, 테스터의 역할
테스트 관리자: 테스트 프로세스에 대한 전반적인 책임과 테스트 활동을 성공적으로 이끄는 것
3) 테스트 전략과 테스트 접근법
테스트 전략: 테스트 프로세스의 일반적인 모습을 반영
-유형: 분석적 / 모델기반 / 방법론적 / 프로세스 준수/ 전문가 조언 /리그레션 기피/ 반응적
4) 시작 조건과 종료 조건(준비의 정의와 완료의 정의)
-> 조건에 대한 예제를 들 수 있다.
5)테스팅과 연관된 노력에 영향을 주는 요소를 식별
6) 메트릭 기반 추정 기법과 전문가 기반 추정 기법의 차이
-메트릭 기반 기법: 기존 유사한 프로젝트에서 얻은 메트릭에 기반하거나 보편적인 값을 바탕으로 테스트 노력 예측
-전문가 기반 기법: 테스팅 작업의 책임자나 전문가의 경험을 기반으로 테스트 노력 예측
7)테스팅에 사용하는 메트릭
-계획한 일정과 예산 대비 진행 상황
-테스트 대상의 현재 품질
-테스트 접근법의 타당성
-목적 대비 테스트 활동의 효과
8) 형상관리가 테스팅을 어떻게 지원하는가?
- 모든 테스트 항목에 고유 식별번호를 부여하고, 버전관리/변경 이력을 기록
- 테스트 프로세스 전반에 걸쳐 추적성을 유지
- 식별한 모든 문서와 소프트웨어 아이템은 테스트 문서 내에서 명확하게 상호 참조
9)장애발생가능성과 영향도를 이용해 리스크의 수준을 정의
-리스크 : 미래에 부정적 결과를 가져오는 이벤트의 발생 가능성
-리스크 수준: 이벤트 발생 가능성과 이벤트로 인한 영향도(피해)로 결정
10) 프로젝트 리스크와 제품 리스크를 구별
-제품 리스크 :작업 산출물이 사용자의 합당한 니즈를 충족하지 못할 가능성
예)소프트웨어가 명세에서 의도한 기능 수행 불가/사용자의 요구사항 기능 수행 불가/ 시스템 아키텍처가 일부 비기능 요구사항을 충족 불가/루프 제어 구조 코딩이 잘못됨
-프로젝트 리스크: 발생하면 목적 달성 능력에 부정적인 영향을 줄 수 있는 상황
예) 프로젝트 이슈/조직 이슈/정치적 이슈/기술적 이슈/공급자 이슈
6. 테스팅 지원도구
1) 테스트 도구 사용 목적 /지원 활동에 따라 구분 가능
목적 : 반복적 작업/수동으로 진행했을 때 상당한 리소스를 필요로 하는 작업을 자동화하여 활동의 효율성을 높임
일관성과 결함 재현성 향상으로 테스트 활동의 품질을 향상
수동으로 식별할 수 없는 활동을 자동화
테스팅의 신뢰성 향상
2) 테스트 자동화의 효과와 리스크 식별
-
3)테스트 실행 및 테스트 관리 도구 사용시 특별히 고려해야하는 사항 기억
* 테스트 실행 도구
-캡처 기반 테스트 접근법
-데이터 주도 테스트 접근법
-키워드 주도 테스트 접근법
4) 도구 선택의 주요 원칙
5)도구를 도입시 파일럿 프로젝트의 목적
- 깊이 있는 도구 지식의 습득, 장단점 모두 이해
-
6) 조직의 테스트 도구에 대한 평가,시행 등 성공요인을 식별 가능
*ISTQB 실라버스를 보고 제 방식대로 정리한 글입니다.
'개인 기록 > 자격증' 카테고리의 다른 글
[데이터 자격증]ADsP 데이터분석준전문가 취득! (0) | 2022.03.25 |
---|---|
2021 공공데이터 청년인턴(일경험 수련생) 기본역량교육 끝! (0) | 2021.08.29 |
[서비스기획] 언더패스/레디미 수료증 (0) | 2021.07.31 |
[구글 애널리틱스]GAIQ 취득! (0) | 2021.07.20 |
CSWP(Certificated Solid Works Professional) (0) | 2021.01.26 |