[ISTQB] Certified Tester Foundation Level 2-2. 테스트 레벨 및 테스트 유형
안녕하세요.
회사에서 Tester 관련 교육으로 ISTQB Certified Tester Foundation Level 자격증 수업을 수강 하게 되었습니다.
시험 공부 겸 수업 내용을 정리 해보려고 합니다.
* 수업은 SK하이닉스와 STA 테스트 컨설팅에서 진행 하였고, 권혜영 강사님의 수업 이었습니다.
1. 테스트 레벨
- 테스트 레벨 : 함께 분류되고 관리되는 테스트 활동의 집합
- 컴포넌트 테스팅
- 통합 테스팅
- 시스템 테스팅
- 인수 테스팅
- 테스트 레벨 분류 특성
- 구체적인 목적
- 테스트 베이시스
- 테스트 대상
- 일반적인 결함과 장애
- 구체적인 접근법과 역할
- 테스트 환경
2. 통합 테스팅의 형태
- 컴포넌트 통합 테스팅
- 통합된 컴포넌트 간의 상호 운용성과 인터페이스에 집중
- 컴포넌트 테스팅 후 수행하여 자동화 하는 경우가 많음
- 반복적 점진적 개발에서는 컴포넌트 통합 테스트를 지속적 통합 프로세스의 일부로 수행
- 일반적으로 개발자가 수행
- 시스템 통합 테스팅
- 시스템, 패키지, 마이크로 서비스 간의 상호 운용성과 인터페이스에 집중
- 기존 컴포넌트 와의 상호 운용 혹은 인터페이스를 다루기도 함
- 일반적으로 테스터가 수행
- 사용자 인수 테스팅 (UAT, User Acceptance Testing)
- 실제 또는 시뮬레이션 된 운영 환경에서 예정된 사용자가 사용하기에 얼마나 적합한지 확인
- 사용자가 그들의 필요에 따라 요구사항을 충족하면서 최소한의 어려움, 비용, 리스크 등으로 비지니스 프로세스를 수행할 수 있다는 자신감 획득
- 운영 인수 테스팅 (OAT, Operational Acceptance Testing)
- 운영자 또는 시스템 관리자가 비록 예외적이고 어려운 조건에서라도 운영 환경에서 사용자를 위해 시스템을 정상적으로 유지할 수 있다는 자신감 획득
- 운영자 또는 시스템 관리 직원에 의해 수행되는 시스템 인수 테스팅
- 시뮬레이션 된 생산 환경에서 수행
- 운영 인수 테스팅은 운영 측면에 집중
* 백업 및 복원 테스팅 / 설치, 삭제, 업그레이드 / 유지보수 작업
* 긴급 복구
* 사용자 관리 / 데이터 로딩 및 마이그레이션 작업
* 보안 취약점 확인
* 성능 테스팅
- 계약 및 규제 인수 테스팅
- 사용자나 독립적인 테스터가 수행
- 알파 및 베타 테스팅
- 시스템을 사용 할 조건 및 환경과 관련된 결함 발견
- 시장 출시 전 사용자, 고객, 운영자 등으로 부터 피드백을 받기 원하는 개발자가 사용
- 알파 테스팅 : 개발 조직 현장에서 개발팀 외 인원응로 수행
- 베타 테스팅 : 고객이나 운영자의 환경에서 수행
3. 테스트 우선 접근법
4. 테스트 유형
- 특정 테스트 목적을 위해 소프트웨어 시스템이나 시스템의 일부 특정 속성을 테스트하는 활동의 집합
- 대표적인 목적
- 기능 품질 특성 평가
- 비기능 품질 특성 평가
- 컴포넌트나 시스템의 아키텍쳐 및 구조가 정확하고 안전하며 명시된 것과 일치하는지 평가
- 수정의 효과 평가
- 기능 테스팅
- 시스템이 수행해야 하는 기능 평가
- 기능 : 시스템이 해야 하는 것
- 기능 성숙도 (완전성)
- 기능 정확도 (정확성)
- 기능 타당성 (적합성)
- 모든 테스트 레벨에서 수행
- 블랙박스 기법 사용
- 기능 커버리지 : 기능 요소의 어떤 유형이 테스트에 의해 어느 정도 실행됐는지를 측정
- 시스템 특성 평가
- 사용성 (유용성), 성능 효율성 (수행 효율성), 보안성
- 시스템이 얼마나 잘 동작하는지에 대한 테스팅
- 모든 테스트 레벨에서 수행
- 가능한 초반에 수행
- 블랙박스 기법 사용
- 비기능 커버리지 : 특정 비기능 요소가 테스트로 어느 정도 실행됐는지를 측정
5. ISO/IEC 25010 품질 특성과 부특성
6. 화이트박스 테스팅
- 시스템의 내부 구조 (코드, 아키텍쳐, 워크플로우, 시스템 내 데이터 플로우) 나 구현을 기반으로 테스트 도출
- 구조 커버리지
- 특정 구조 요소가 테스트에 의해 어느 정도 실행됐는지 측정
- 커버되고 있는 요소 유형에 대해 백분율로 표기
- 컴포넌트 테스팅 레벨
* 코드 커버리지 : 구문 커버리지 / 결정 커버리지
- 컴포넌트 통합 테스팅 레벨
* 인터페이스 커버리지
- 테스트 설계와 구현에 코드가 구축된 방법, 데이터가 저장되는 방법, 코드 커버리지 도구를 사용하는 방법과 해당 결과를 제대로 분석하기 위한 지식 필요
7. 변경 관련 테스팅
- 시스템이 변경되면 해당 변경이 결함을 제대로 수정했는지, 기능을 올바르게 구현 했는지 또 예상하지 못한 부작용이 발생하지 않았는지 확인 하기 위한 테스팅 필요
- 확인 테스팅 (Confirmation Testing)
- 결함을 제대로 수정 했는지 확인
- 리그레션 테스팅 (Regression Testing)
- 의도하지 않은 부작용을 발견하기 위한 테스트
- 모든 테스트 레벨에서 수행 가능
- 반복적 점진적 개발 수명주기에서는 코드에 잦은 변경이 가해지고, 시스템이 진화하는 특성 때문에 확인 및 리그레션 테스팅이 매우 중요 -> 자동화 필요
- 개별 오브젝트가 자주 업데이트 되거나 교체되는 IoT 시스템에서는 더욱 중요
- 자동화에 적합 : 초반에 시작 해야 함
8. 유지 보수 테스팅
- 유지보수의 일환으로 변경이 이루어지게 되면, 변경의 성공 여부를 평가하고, 시스템의 변경되지 않은 부분에서 부작용의 발생 여부를 확인하기 위해 수행하는 테스팅
- 유지보스 테스팅의 범위
- 변경의 리스크 수준
- 기존 시스템의 규모
- 변경의 규모
- 유지보수 테스팅의 범위에 따라 다양한 테스트 유형을 활용한 복수의 테스트 레벨에서 유지보수 테스팅 수행
- 개선을 위한 변경 (Modification) : 계획된 확장, 수정 혹은 긴급 변경, 운영 환경 변경, 결함 및 취약성 패치 등
- 이관을 위한 변경 (Migration) : 신규 환경에 대한 운영 테스트 필요 / 데이터 전화 ㄴ테스트
- 단종 (Retirement) : 보관 처리에 대한 테스팅, 복원/회수 절차에 대한 테스팅
'Computer Study > ISTQB' 카테고리의 다른 글
[ISTQB] Certified Tester Foundation Level 3-2. 리뷰 프로세스 (0) | 2021.09.21 |
---|---|
[ISTQB] Certified Tester Foundation Level 3-1. 정적 테스팅 기초 (0) | 2021.09.20 |
[ISTQB] Certified Tester Foundation Level 2-1. 소프트웨어 개발 수명 주기 (0) | 2021.09.16 |
[ISTQB] Certified Tester Foundation Level 1-2. 테스팅 프로세스 (0) | 2021.09.15 |
[ISTQB] Certified Tester Foundation Level 1-1. 테스팅의 기초 (0) | 2021.09.14 |