Thief of Wealth
Published 2020. 7. 7. 00:37
5. 소프트웨어 프로세스 개발/QA

소프트웨어 프로세스 정의

: 소프트웨어와 관련 산출물 (설계서, 테스트케이스 등)을 개발하고 유지보수하는 활동 및 방법.

 

테스트 프로세스의 필요성.

- 소프트웨어 개발 프로젝트에서 테스트가 차지하는 비중이 증가함.

- 효율적이고 효과적인 테스트 수행을 위한 관리의 중요성 부각.

- 주어진 시간과 비용 내에서 체계적인 테스트 수행 필요.

- 평가를 통한 테스트 활동 개선필요.

 

테스트 프로세스 단계.

 

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
profile on loading

Loading...