먼지 쌓인 키보드
[문배 정리] 2.소프트웨어 수명주기와 테스팅 본문
2. 소프트웨어 수명주기와 테스팅
* 수명주기 모델에서 테스팅
- 모든 개발 활동은 테스팅 활동과 대응
- 각 테스트 레벨은 그레벨에 맞는 특정한 목적을 가짐
- 개발 활동과 같이 시작
- 테스터는 개발 수명주기동안 테스팅을 준비하고 개발 중간 산출물을 리뷰하는 활동에 참가
* 폭포수 모델 vs V-모델
* 폭포수 모델
- 개발활동이 순차적으로 이루어지며 테스트활동은 모든 개발활동을 완료한 후 이루어짐
* V-모델
- 테스팅을 초기에 시작하면 좋다는 원리를 토대로 테스트 프로세스를 전반적인 개발 프로세스에 통합
- 폭포부 모델을 변행해 개선
- 개발 단계와 테스팅 활동이 어떻게 통합될 수 있는 설명
- 각 개발 단계에 테스트 레벨을 부여함으로써 조기 테스팅을 좀 더 적극적으로 구현
- 개발 리스크를 조기에 감소시킬수있음
- 개발단계와 테스팅 단계는 반드시 일대일 대응을 갖는건 아님
* 베리피케이션 프로세스
- 시스템이나 컴포넌트를 평가하는 프로세스
- 주어진 개발 단계의 제품이 그 단계에서 처음 정의한대로 만족하는지 결정
= 명세된 요구사항이 충족됐는지를 조사에 의해서나, 객관적인 증거 제공으로 확인하는 것
* 반복적 개발 모델
- 민첩(Agile) 개발 모델, 래셔녈 통합 프로세스, 래피드 애플리케이션 개발, 프로토타이핑
* V모델
- 각 테스트 레벨에서 테스트 주체와 목적은 다르다
- 개발이 시작된 후에 진행
- 각 레벨의 테스트는 독립적인 테스트 수명주기를 가짐
* 반복점증모델
- 요구사항이 변경됐을 때 빠르게 반영가능
* 컴포넌트 테스트 통합 테스트
- 컴포넌트 테스트 : 소프트웨어 단위 모듈 자체만을 테스트
- 통합 테스트 : 모듈간 연계성을 고려해 테스트
* 인수테스팅
- 예상된 대로 시스템이 동작하는지 확인하고 요구사항에 맞는지 확신을 얻음
* 시스템 테스트
- V-모델에서 상위레벨 테스트에 속함
- 기능 테스트와 비기능 테스트 유형을 모두 테스트 범위로 함
- 주로 블랙박스 테스팅으로 접근
- 테스트의 독립성을 고려해 개발팀에서도 수행 가능
* 각 테스트 레벨에 대한 설명
- 컨포넌트(단위) 테스팅 :
코드레벨에서 또는 일반적으로 개발환경에서 개발자가 직접 수행
소프트웨어를 테스트 가능한 단위로 구분해 단위내에서 결함을 찾는 활동
- 통합 테스팅 :
시스템, 시스템 구성요소, 소프트웨어 프로그램의 데이터, 인터페이스가 정상적으로 작동하는지
컴포넌트간 인터페이스 테스트
체계적이고 순차적인 통합전략을 권장
- 시스템 테스팅 :
시스템간의 상호작용에 대한 테스트, 독립적인 테스트팀이 수행하는 경우가 대부분
전체 기능상의 결함 발견, 비기능적 품질 특성 확인을 목적
실제 시스템과 유사한 테스트 환경에서 진행
- 인수 테스팅 :
시스템에 대한 확신을 갖기 위한 테스팅, 결함 발견이 목적이 아님
리스크 기반 전략을 근거로 사업적 리스크에 집중해 테스트
주로 고객이나 사용자가 전담해 수행
반드시 최종단계에서 수행하는건 아님
(운영상의 인수 테스팅 : 유지보수와 관련된 인수테스팅)
* 알파 테스팅 베타 테스팅
- 알파 테스팅 : 개발 조직 내에서 잠재 고객에 의해 수행
- 베타 테스팅 : 사이트 인수 테스팅이라고 불림
고객또는 사용자가 자신의 업무 환경에서 수행
사용자 환경에서 실제 고객이나 잠재 고객에 의해 수행
* 리그레션 테스팅
- 이미 테스트된 프로그램의 테스팅을 반복
- 결함 수정 이후 변경으로 인해 유입됐거나 발견되지 않았던 다른 결함을 발견
* 확인 테스팅
- 이전 결함을 제거했는지 확인
* 비기능 테스팅
- 소프트웨어 제품 특성 테스팅
- 시스템이 어떻게 동작하는가를 테스팅
- 성능, 부하, 스트레스, 신뢰성 테스팅을 포함
* 기능 테스팅
- 시스템이 수행하는 무엇
* 테스트 용이성
- 제품 요구사항 리뷰시, 테스터가 가장 주의깊게 봐야할 것
* 부하 테스팅
- 실제 환경을 가정하고 요구사항에서 제시하는 부하의 최대치를 발생시켜 시스템이 안정적으로 작동하는지 테스트
* 유지보수 테스팅
- 이미 운영되고 있는 시스템에서 수행
- 개발 중 변경이 발생한 경우 확인, 리그레션 테스팅 등을 수행
- 변경이나 단종됐거나 마이그레이션 될 때 발생
* 시스템 통합 테스팅
- 개발한 시스템을 다른 시스템과 통합
* 종료조건
* 인수테스트 종료조건
- 최종 사용자가 모든 비즈니스 알고리즘을 테스트
- 최종 사용자가 모든 핵심 경로와 동작을 테스트했고, 사용자 요구사항을 모두 만족
* 통합 테스트 종료조건
- 모든 주요 통합 인터페이스를 테스트
* 시스템 테스트 종료조건
- 오픈돼있는 심각한 결함이 없음
- 모든 기능/비기능 테스트 아이템을 테스트함
'공부 관련 > 소프트웨어 QA' 카테고리의 다른 글
ISTQB CTFL 초급자 공부 시작 방법 (0) | 2020.01.30 |
---|---|
검증과 확인 (V&V : Varification & Validation) (0) | 2020.01.30 |
[문배 정리] 1.소프트웨어 테스팅의 기초 (0) | 2020.01.16 |
동계 엔테크 서비스 SW QA 면접 후기 ( 불합격 ) (9) | 2019.12.31 |
ISTQB CTFL 정기 한글 5차 1점 차이로 불합격... (0) | 2019.12.18 |