728x90
반응형
2.1 소프트웨어 개발 모델
- 폭포수 모델
- 순차 진행 방식
- 각 단계별 결과 화인 후 다음단계 진행
- 단순하거나 잘 알고 있는 경우 적합
- 각 단계 산출물을 명확히 정의 필요
- 반복/점증적 모델
- 시스템을 여러번 나누어 릴리즈
- 중요하고 기초적인 기능 우선 개발을 하고 점증적으로 기능을 추가로 개발
- 점증적 방법 : 일부 기능만 구현 후 기능을 추가해 나가는 형태
- 반복정 방법 : 전체 기능을 대상으로 하되 릴리즈마다 완성도를 높이는 방법
- V모델
- Verification
- 개발 단계의 산출물이 그 단계의 초기에 설정된 요구조건을 만족하는지 여부를 결정하기 위해 구성요소나 시스템을 평가하는 프로세스
- 정적테스팅
- Validation
- 명시된 요구사항을 만족하는지 여부를 확인하기 위해 개발단계가 끝날때 구성요소나 시스템을 평가하는 프로세스
- 실제 소프트웨어 수행
- 동적테스팅
- Verification
- 테스트 레벨
- 테스트 대상 소프트웨어의 구현 범위에 따른 분류
- 단위테스트, 통합테스트, 시스템테스트, 인수테스트
- 테스트 유형
- 테스트 목적에 따른 분류
- 하나 이상의 테스트레벨 또는 테스트 단계에서 발생 가능
- 기능테스트, 비기능테스트, 구조/설계테스트, 변경테스트
- 테스트 수행 방식
- 정적테스트
- 소프트웨어를 구동하지 않고 리뷰/분석을 통해 결함 발견
- 매뉴얼리뷰, 인스펙션, 정적분석
- 동적테스트
- 대상 소프트웨어를 설제/가상 환경에서 구동해서 결함 발견
- 단위테스트, 통합테스트, 기능테스트, 성능테스트
- 정적테스트
- 테스트 설계 기법
- 테스트케이스를 선택하거나 도출하는 기법에 따른 분류
- 테스트 조건, 테스트케이스, 테스트데이터 식별
- 명세기반(블랙박스), 구조기반(화이트박스), 경험기반
2.2 테스트 레벨
- 컴포넌트 테스팅
- 테스트가 가능한 최소 단위로 나누어진 소프트웨어(모듈, 프로그램, 클래스등) 내에서 결함을 찾고 그 기능을 검증하는 것
- 목적
- 기본적 경로 확인
- 모든 오류 처리 경로 확인
- 모듈 간 인터페이스 확인
- 로컬 데이터, 경계 값 화인
- 특징
- 코드 중심의 구조 기반 테스트
- 주로 개발자에 의해 개발 환경에서 수행
- 결함 발견시 즉시 수정하며 세부 결과 보고서는 생략
- 통합 테스팅
- 컴포넌트간 인터페이스 및 타 시스템과의 인터페이스에서 상호 연동하는 동작을 테스트하는 활동
- 목적
- 소프트웨어 아키텍처/설계서에 기반하여 기능/비기능 특성 확인
- 인터페이스 데이터 정합성 확인
- 특징
- 컴포넌트 테스트가 수행된 이후에 통합테스트 수행
- 개발자 또는 테스터에 의해 개발 환경에서 수행
Backbone | - 가장 중요하고 리스크가 높은 모듈로 통합 - 드라이버/스텁을 필요에 따라 만들어 사용 |
Big bang | - 모든 테스트된 모듈을 동시에 통합 - 실제 모듈에서 테스트 |
Bottom up | - 가장 하부 모듈부터 통합 - 테스트드라이버 필요 |
Top down | - 가장 상부 모듈부터 통합 - 테스트드라이버 필요 |
- 시스템 테스팅
- 전체 시스템이 본래의 요구사항에 부합하는지 테스트 하는 활동
- 목적
- 기능 요구사항 만족 여부
- 비그능 요소(성능, 신뢰성, 사용성 등) 만족 여부 확인
- 특징
- 통합 테스트가 완료된 이후 수행
- 주로 독립적인 테스트 팀에 의해 수행
- 실제 환경과 최대한 유사한 조건에서 수행
- 기능/비기능 테스트외 경험 기반 및 에러 추정을 통한 테스트케이스 추가
- 인수 테스팅
- 고객이 제품을 인수할 만한지 확인하기 위해 실사용 환경에서 테스트하는 활동
- 목적
- 계약상 요구사항 만족 여부
- 고객이 개발된 시스템을 인수할것인지 결정
- 결함발견 목적이 아닌 구매에 대한 확신을 주기 위함
- 특징
- 시스템 테스트가 완료된 이후 수행
- 고객에 의해 수행
- 실제 구입자 사용 환경에서 수행
2.3 테스트 유형
- 기능테스팅
- 컴포넌트나 시스템의 기능 명세에 정의된대로 동작하는지 확인하는 테스팅 활동
- 명세기반테스트수행 : 컴포넌트나 시스템의 내부구조를 참고하지 않고 기능명세기반을 Test Case 도출(프로세스 흐름모델, 상태전이모델, 유즈케이스모델, 평문언어명세)
- 특징 : 모든 테스트 레벨에서 수행
- 비기능테스팅
- 컴포넌트나 시스템의 기능성외에 비기능적 품질 특성을 준수하는지 확인하는 테스팅활동(성능, 부하, 스트레스, 사용성, 유지보수성, 신뢰성, 이동성등)
- 명세기반테스트수행 : 컴포넌트나 시스템의 내부구조를 참조하지 않고 명세분석을 통해 비기능테스팅을 위한 Test Case 도출
- 특징 : 모든 테스트 레벨에서 수행
- SW 품질 특성 기반 테스팅
- 기능테스트 : 기능 요구사항 검증
- 사용성테스트 : 소프트웨어를 쉼게 사용할 수 있는 정도를 측정하고 검증 확인하는 테스트
- 성능테스트 : 시스템에 부하를 주면서 응답시간, 처리량, 처리 속도등 성능지표 추이 측정
- 스트레스테스트 : 복함 데이터 또는 대량의 데이터를 이용한 과부하 장기 테스트
- 회복테스트 : 문제가 발생 했을때 복귀 능력 검증
- 보안테스트 : 외부의 침입이나 해킹에 대응하는 능력 검증
- 구조적테스팅
- 컴포넌트나 시스템의 특정 유형의 구조 커버리지를 평가하여 테스팅의 보장성/충분성을 측정하는 테스팅 활동
- 구조기반테스트수행 : 컴포넌트나 시스템의 내부구조를 분석하여 Test Case 도출(제어흐름모델, 메뉴구조모델)
- 특징 : 모든 테스트레벨에서 수행
- 통합테스트 : Call Tree 구조
- 시스템테스트 : 시스템아키텍쳐, MBD모델 구조
- 확인/리그레션테스팅
- 확인테스팅 : 발견된 결함이 수정되어 제거 되었는지 확인
- 리그레션테스팅 : 수정에 따른 신규 결함이 유입되었는지 확인하는 테스팅
728x90
반응형
'[ISTQB]' 카테고리의 다른 글
[ISTQB CTAL TAE]Syllabus #용어 (0) | 2023.02.24 |
---|---|
[ISTQB CTFL]Syllabus #3장 오답노트 (0) | 2022.11.22 |
[ISTQB CTFL]Syllabus #2장 오답노트 (0) | 2022.11.22 |
[ISTQB CTFL]Syllabus #1장 오답노트 (0) | 2022.09.15 |
[ISTQB CTFL]개알 #1장 소프트웨어 테스팅의 기초 (0) | 2022.08.17 |