소프트웨어 프로세스 정의
: 소프트웨어와 관련 산출물 (설계서, 테스트케이스 등)을 개발하고 유지보수하는 활동 및 방법.
테스트 프로세스의 필요성.
- 소프트웨어 개발 프로젝트에서 테스트가 차지하는 비중이 증가함.
- 효율적이고 효과적인 테스트 수행을 위한 관리의 중요성 부각.
- 주어진 시간과 비용 내에서 체계적인 테스트 수행 필요.
- 평가를 통한 테스트 활동 개선필요.
테스트 프로세스 단계.
1) 테스트 계획
: 요구 명세와 프로젝트 개발 계획을 바탕으로 언제,누가,무엇을,어떻게, 테스트 해야 할 것인가, 언제 종료할지 결정하는 행동.
2) 테스트 분석 및 설계
: 테스트 계획에서 결정했던 테스트 항복 및 접근 방법들을 구체화하는 활동.
3) 테스트 실행
: 테스트 케이스 명세서에 명시된 테스트 환경을 준비하고 실제 테스트를 수행하여 결과를 획득하는 행동
4) 테스트 모니터링 및 통제
: 테스트 설계와 실행이 진행되는 동안에 수립된 테스트 계획에 준하여 테스트가 수행되는지를 모니터링하고 필요 시 통제하는 활동
5) 테스트 평가 및 개선
: 테스트 수행 종료 후 진행된 테스트 활동의 효과성과 효율성에 대한 평가 및 테스트 프로세스를 개선하는 활동.
V-Model
- V-model은 요구사항정의및분석/시스템설계/구현/테스트 라는 일련의 단계를 통해 소프트웨어를 개발하는 폭포수 개발모델에 근간을 두고 있는 모델
- 여기서 테스트는 한 번에 이루어지는 것이 아니라 개발 생명 주기에 맞춰 테스트 활동도 각 단게에 대응하는 레벨이 별도로 존재하여 V모양을 이룬다.
- V-Model 소프트웨어 개발 단계 별 테스트 유형
요구사항 ====> 인수테스트
요구사항분석 ====> 시스템테스트
구조설계 ====> 통합테스트
상세설계 ====> 단위 테스트
Verification 코딩 Validation
- 왜 테스트 레벨별로 진행해야 하는가?
: 각각의 테스트 레벨은 서로 독립적
: 각각 다른 테스트 계획과 전략이 필요함.
: 일반적으로 수행하는 주체가 다르다. !!!!!!!!
: 적용하는 테스트 기법의 종류와 형태가 다르다 !!!!!
: 별도의 보고를 필요로함
* 참고) 인수테스트 후에는 회귀 테스트가 없다.
테스트 프로세스와 문서와의 관계
- 테스트 활동을 수행하는 과정에서 다양한 테스트 문서가 작성된다.
그리고 테스트 문서들은 이전에 작성된 테스트 문서를 바탕으로 작성되며 일관성을 유지해야 한다.
테스트계획 : 테스트계획서
테스트분석및설계 : 테스트설계명세서, 테스트케이스명세서, 테스트절차서
테스트실행: 테스트로그, 테스트사건보고서
테스트평가및개선: 테스트 평가보고서
* 위 산출물은 단위테스트, 통합테스트, 시스템테스트, 인수테스트 에 각각 나와줘야 한다.
테스트 계획
: 효과적이고 효율적인 테스트 진행을 위해 테스트 범위, 수행방법, 테스트 일정을 수립하는 활동.
: 주요내용
- 적절한 테스트 범위를 파악.
- 효과적인 테스트 방법 결정.
- 효과적인 테스트 조직과 자원 할당.
- 적절한 테스트 일정 짜기
- 테스트 자원 효율적으로 제어 및 관리
- 테스트 항목들의 우선순위 및 자원 할당
- 위험 분석을 통한 우선순위 결정.
: 테스트 계획의 유형
- V-Model에서 총괄 테스트 계획 및 레벨별 테스트 계획을 수립한다.
* 총괄테스트 계획 (MTP: Master Test Plan)
: 여러 레벨의 테스팅 또는 비기능 테스팅을 총괄적으로 통제하는 목적의 계획
*레벨별 테스트 계획
: 각 테스트 레벨에서 수행 할 테스트 전략, 활동, 세부 스케쥴, 담장자 등을 계획하고 해당 레벨을 지휘하고 통제
- 단위 테스트 계획
- 통합 테스트 계획
- 시스템 테스트 계획
- 인수 테스트 계획
- 특정 비기능 테스트 계획 (사용성 테스트, 성능 테스트 등.)
V-Model에서의 테스트 계획 활동
요구사항 인수테스트
분석 통합테스트
설계 단위테스트
개발
요구사항에서 (제안요구서/요구사항정의서)를 만들고 인수테스트의 기준문서로 활용
분석에서 (프로세스정의서/요구사항명세서)만들고 시스템테스트의 기준문서로 활용
설계 (인터페이스정의서)만들고 통합테스트의 기준문서로 활용
개발 (화면설계서/UI표준정의서)만들고 단위테스트의 기준문서로 활용
총괄테스트 계획
- 총괄 테스트 계획은 특정 테스트 단계의 테스트 계획이 아니라 모든 테스트 단계를 총괄적으로 관리하기 위함이다.
- 프로젝트의 테스트 전략과 방향을 제시하고 각 테스트 레벨의 테스트 범위와 강도를 조율하여 테스트 완성도를 확보한다.
- 프로젝트 참여자들과의 주요한 커뮤니케이션 수단으로 활용한다.
- 총괄 테스트 계획에서는 테스트 목적, 범위, 대상, 방법, 환경구성, 절차, 조건, 일정, 자원, 제약사항 등 개괄적인 내용을 서술한다.
총괄 테스트 계획 수립 절차
1) 테스트 범위 선정 : 테스트 수행을 위한 대상, 범위 결정
2) 테스트 조직 구성 : 테스트 수행 담당자 및 역할 담당
3) 테스트 전략 수립 : 위험분석으로 테스트 방법 결정
4) 테스트 일정 수립 : 테스트 생명 주기에 대한 일정 수립
5) 관리 항목 및 관리 계획 수립 : 테스트 모니터링을 위한 관리항목 및 보고 주기 수립
6) 산출물 정의 : 테스트 수행 시 생성되는 산출물 정의
총괄 테스트 계획 수립
: 테스트수준+테스트범위+테스트접근방법+종료기준 => 총괄테스트 계획서
- 테스트수준
: 수준별 테스트 수행여부를 결정한다.
ex) 어떤 경우, 단위 테스트를 생략하거나 전체 모듈이 아닌 일부 모듈에 대해서 단위 테스트를 수행할 수 있음
- 수준별 테스트 범위
: 선택된 테스트에서 초점을 둘 테스트 목적을 결정
- 테스트접근방법
: 테스트 수준별로 각 테스트에서 적용할 테스트 접근방법을 결정
- 수준별 테스트 종료 기준
: 각 수준별 테스트를 언제 종료하고 다음 단계로 진입할 것인가에 대한 기준을 결정.
총괄테스트에서 수준별 테스트계획
: 총괄테스트계획에서 단위/통합/시스템/인수 테스트 계획서를 작성한다.
총괄테스트계획서는 이를 고려하여 각 수준별 테스트 범위를 충족할 수 있게 작성되야 한다.
'개발 > QA' 카테고리의 다른 글
7. 테스트 전략 (0) | 2020.07.08 |
---|---|
6. 테스트 계획 요소 (0) | 2020.07.07 |
4. 개발 단계별 테스트 (단위, 시스템, 통합, 인수 테스트) (0) | 2020.07.03 |
3. SW 테스트 (0) | 2020.07.03 |
2. 결함(defect), Error, Fault, Failure 이란? (0) | 2020.07.03 |