//구글콘솔 광고 추가가

테스트 프로세스에서 3~4 문제 나온데. 중요, 중요!!

아주 중요한 파트!!


 

테스트 프로세스

* 테스트 모니터링과 제어 : 관리자 역할(감시자 역할)로 계획, 분석, 설계, 구현, 실행, 완료단계까지 다 들어가. 

* 테스트 스위트 / Test Suite : 테스트 케이스들을 하나로 묶은 것. 테스트 스크립트 세트.

* 테스트 하네스 / Test Harness : 자동화된 테스트 지원 도구, 다양한 환경에서 프로그램 단위를 작동시키고 그 작동과 출력을 모니터하기 위해 사용되는 소프트웨어와 테스트 데이터의 집합. >> 테스트하기 위한 환경이라 알아두면 돼.

*** 테스트 모니터링과 제어는 테스트 분석, 테스트 설계, 테스트 구현, 테스트 실행 까지 테스트 모니터링과 제어는 계속 되어야 해!!! 한 단계에서 필요한게 아니야. 테스트 계획단계에서 테스트 모니터링과 제어가 시작하는거 X.

 

테스트 프로세스의 기초 (빨간 글씨들은 다 외운다 생각해야돼!!)
테스트 계획과 제어

- 테스트 목적/ 목표 설정 및 대상 연구    - 테스트 종료 조건             - 테스트 관리 및 제어
- 테스트 전략 개발                                  - 테스트 추정                     - 모니터링(리포팅)
- 리스크 분석                                          - 조직 구성                         - 리포팅 계획/ 설계
- 전략 수립                                              - 테스트 계획                     - 진행 리포팅
외워라 : 테스트 종료조건은 테스트 계획과 제어의 산출물!
테스트 분석과 설계 테스트 베이시스 검토       - 테스트 환경 구축에 필요한 기반시설 및 도구 식별
- 테스트 용이성 평가           - 테스트 베이시스와 테스트 케이스의 추적성 설명할 수 있게 만들어져야돼
- 테스트 컨디션/ 요구사항/ 데이터 식별
- 논리적(hight level) 테스트 케이스 설계 및 우선 순위 선정 
외워라 : 테스트 베이시스 검토(글로 작성하는 것)는 테스트 분석과 설계에서 들어가는 거야!
테스트 구현과 실행 테스트 케이스 최종 구현과 우선 순위 선정     
- 테스트 프로시저 생성 및 우선 순위 선정
- 테스트 베이시스와 테스트 케이스의 추적성 확인 및 업데이트 

- 데스트 데이터 생성            - (재)테스트 실행(결과 및 이슈 기록)
- 테스트 스위트 생성            - 기대 결과와 비교        - 테스트 환경의 올바른 구축 확인
종료 조건의 평가 레포팅 - 종료 조건의 달성 여부 평가
- 최종 테스트 보고서 작성
테스트 종료의 조건 산출물 확인 데스트웨어 보관   - 테스트프로세스 평가(진단)

▶ 테스트 프로세스

 - 테스팅 관련 활동이 체계적으로 진행되어 의도된 테스트 목적과 목표를 달성할 수 있도록 테스팅의 구성요소를 엮어 주는 역할.

 >> 테스트 베이시스 : 계획단계 부터 필요. 설계시 반드시 요구 -> 문서화를 해야 한다.

 >> 테스트 조직 : 계획단계 부터 필요, 실행 단계에서 다수 인력 필요

 >> 테스트 전략

 >> 테스트 기법 : 분석 및 설계 단계에서 필요.

 >> 테스트 대상 : SW는 가장 이른 시기 준비, 늦어도 실행 단계에서는 필수.

 >> 테스트 기반 설비 및 환경 : 실행 단계 전에 구축.

- 체계적으로 발견한 결함과 관련 정보를 바탕으로 정량적(수치적)으로 개발 프로젝트에 조언(분석한 리스크) 제공.

 

테스트 계획과 제어(통제)
▶ 테스트 제어
계획 대비 실제 진행 상황을 비교하는 지속적인 활동
- 계획과의 차이 확인 >> 지속적인 모니터링
- 제어 작업
 >> 테스트 결과에 대한 측정과 분석
 >> 테스트 진척 사항, 완료조건의 모니터링과 문서화
 >> 테스트 계획과의 차이 교정
 >> 테스팅의 진행과 변경에 대한 의사 결정 활동
 >> 테스팅 계획은 테스팅의 제어와 모니터링 활동으로부터 받은 피드백을 반영

▶ 테스트 계획과 제어
- 주요 활동
 >> 테스트 목적/ 목표 및 대상 연구
 >> 테스트 전략 개발
 >> 테스트 완료 조건의 결정(80~90%)
 >> 테스트를 추정
 >> 테스트 조직 구성
 >> 테스트 계획 활동
 >> 테스트 관리 및 제어
 >> 리포팅 

 

테스트 프로세스

 

1-1. 테스트 계획
- 테스트 계획은 테스팅의 미션과 목표를 정의하고 이를 만족시키기 위한 테스트 활동들을 수립하는 과정.
- 테스트 계획은 모니터링 및 통제 활동의 피드백에 따라 조치를 할 수 있도록 수립되어야 한다.

   계획 단계에서 해야하는 일   
 >> 1.테스트를 위한 자원 파악(인적 자원, 테스트 환경, PC사양 등).
 >> 2. 테스트 정책 및 테스트 전략 수립.
 >> 3. 테스트 분석 및 설계 업무 일정 관리.
 >> 4. 테스트의 적용, 실행, 평가에 대한 일정 관리.
 >> 5. 완료 조건 결정.

 

1-2. 테스트 제어
- 테스트 통제는 실제 진행 상황과 계획을 비교하고 보고 하는 활동.
- 여기에는 프로젝트의 미션과 목표를 위해 조치가 이루어질 수 있음.
- 이를 위해 프로젝트의 진행이 지속적으로 모니터링 되어야 할 것.

★ ★ ★ 제어 단계에서 해야 하는 일 ★ ★ ★
 >> 1. 결과 측정 및 분석.
 >> 2. 모니터링 및 문서화의 진행, 테스트 범위, 종결 기준.
 >> 3. 결과 반영(수정, 변경 등) 활동.
 >> 4. 의사 결정

 

 - 테스트 계획과 제어 단계는 테스트 분석과 설계, 테스트 구현과 실행, 종료 조건의 평가 레포팅의 모든 단계를 모니터링 해줘야돼. 


2. 테스트 분석과 설계
- 테스트 계획에서 제시된 목표를 테스트 케이스로 반영.

>> 일반적이고 추상적인 테스팅 목적을 실제적이고 구체적인 테스트 상황과 테스트 케이스로 변환하는 활동.

★ ★ ★ 분석과 설계 단계에서 해야하는 일 ★ ★ ★
 >> 1. 테스트 베이시스 리뷰(가장 기초 문서, 요구사항 명세서, 설계 계획서, 디자인 등). *테스트 베이시스 : 요구사항 등 테스트 케이스의 토대. 
 >> 2. 테스트 대상 아이템 또는 명세, 구조 분석을 통해 테스트 상황을 식별하고 우선순위 선정.
 >> 3. 테스트 케이스 설계와 우선 순위 선정.
 >> 4. 비공식적인 기법으로 테스트 케이스 추가 도출 및 보완
 >> 5. 테스트 상황과 테스트 케이스에 필요한 테스트 데이터 식별.
 >> 6. 테스트 환경 구축에 대한 디자인과 요구되는 기반 시설 및 도구 식별. (완전한 구축이 아니라 어떠한 환경에서 할지 정하는 것)


3. 테스트 구현 및 실행  (테스트 프로시저, 테스트 스크립트 키워드 나오면 테스트 구현 및 실행!)
- 효과적/ 효율적 테스트를 위해 테스트 케이스를 조합하고, 테스트 프로시저(==모듈시스템이 있으면 정하는 순서)/ 테스트 스크립트를 작성.(자동화)

- 테스트 환경이 구축되어 있어야 한다.(환경 완성돼있어야 됨.)

★ ★ ★ 구현 및 실행 단계에서 해야하는 일 ★ ★ ★
 >> 1. 테스트 데이터 생성.
 >> 2. 효과적인 테스트를 위해 테스트 프로시저 생성.
 >> 3. *테스트 하네스 준비.
 >> 4. 테스트 환경이 제대로 설정되었는지 확인.
 >> 5. 계획된 절차에 따라 테스트 케이스를 직접 또는 툴을 사용하여 수행.
 >> 6. 테스트 실행 결과를 기록하고 테스트 수행 대상 및 소프트웨어 버전을 기록.

 >> 7. 예상 결과와 실제결과를 비교.

 >> 8. 불일치하는 결과가 나오는 원인을 기록.

 >> 9. 각각의 불일치에 대한 반복적인 활동.

 

++ 주요 작업(위의 해야하는 일과 같은데 같이 읽어보고 공부해. 아마 비슷할꺼. 키워드 위주로 봐봐.)

- 테스트 케이스 개발, 구현과 우선 순위 설정

- 자동화 테스트 스크립트 작성

- 테스트 하네스 준비

- 효율적인 테스트 실행을 위해 테스트 수트(테스트 케이스 묶음) 생성

- 테스팅 실행(겨로가 기록 -식별과 버전 관리)

- 기대 결과와 비교 -> 예상 결과와 실제 결과 간의 차이에서 오는 불일치를 인시던트 또는 결함으로 보고 -> 불일치 원인 파악(원인을 파악하는건 테스터가 하는 일, 원인을 찾아서 수정하고 제거하는 건 개발자가 하는 일.)

 

- 예상과 실제의 불일치로 테스트 케이스 결함, 테스트 정황 결함, 어플리케이션 결함이 있을 수 있다.

- 불일치를 조치한 결과를 확인하기 위한 테스트 활동 반복

 >> 수정이 되었는지 테스트 실행 -> 확인 테스팅(Confirmation Testing).

 >> 수정으로 새로운 버그가 발생하지 않았는지 전체를 테스트 실행 -> 회귀 테스팅(Regerssion Testing). 

- 결함의 유형

 >> 기획시 유입된 결함 : 요구사항의 표준 미준수, 테스트 불가능 등.

 >> 설계시 유입된 결함: 설계의 표준 미준수, 테스트 불가능 등.

 >> 코딩 시 유입된 결함: 코드의 표준 미준주 등. 

 

 

*테스트 하네스 :

- 테스트 드라이버 + 테스트 스텁.

- 드라이버 : 상향식 테스트, 하위 모듈에서 상위 모듈로의 테스트를 진행

- 스텁 : 하향식 테스트, 상위 모듈에서 하위 모듈로의 테스트를 진행.


 4-1. 완료 조건의 평가와 리포팅
- 테스트 수행 결과를 목적과 비교하여 평가.


★ ★ ★ 완료 조건의 평가와 리포팅 단계에서 해야하는 일 ★ ★ ★
 >> 1. 테스트 계획에 정의된 완료 기준에 따라 테스트 로그 확인. (로그가 나온다? 무조건 완료 조건.)
 >> 2. 추가 테스트가 필요한지에 대한 평가를 하거나 완료 기준을 변경.
 >> 3. 이해 관계자들을 위한 테스트 요약 보고 작성.
 

- 리포팅 내용으로 뭐가 있냐. -> 리포팅에 표현되는 내용.

 >> 발견된 결함과 미해결 결함의 추이 및 우선순위. 

 >> 테스트 진척도. (테스트 어느 정도 진행됐는지.)

 >> 리스크 및 메트릭으로 실증된 조언.

*메트릭 : 메트릭이란 지연, 오류 비율에서 사용자 가입까지 시간에 따른 모든 환경 변화를 추적할 수 있는 숫자 값.

 >> 테스트 환경의 가용성.

 >> 테스트 커버리지, 결함 발견 효과성/ 효율성, 품질 평가 결과, 결함 상태별 결함수.

 >> 소프트웨어 사이즈 대비 결함 수 등.

 

4-2.  테스트 마감 조건과 리포팅

- 모든 테스트 활동에서 경험, 테스트 도구, 사실, 통계를 종합하기 위해 데이터를 수집하고 완료.

 

★ ★ ★ 테스트 마감 조건과 리포팅 단계에서 해야하는 일 ★ ★ ★
 >> 1. 계획된 산출물이 산출되었는지에 대한 확인, 개별 요소에 대한 보고완료, 또는 아직 수행 중인 활동의 변경에 기록에 대한 이슈제기.

 >> 2. 시스템 인수와 관련된 문서 확인.
 >> 3. 유지보수 조직에 테스트 도구 인계.
 >> 4. 사후 관리 및 테스트 성숙도 향상 수준 분석.

 

++ 

▶ 테스트 마감 활동

- 산출물 확인, 테스트 웨어(산출물) 보관(-> 다음 프로젝트를 위해)

- 테스트 프로세스 평가 심사.

- 주요활동

>> 테스트 결과 마감(예정된 산출물, 인시던트 레포트 종료, 해결되지 않은 요구사항에 대한 처리, 시스템 인수에 대한 문서화 등)

>> 테스트웨어, 테스트 환경, 테스트 기반 설비를 차후에 사용위해 마감, 보관.

>> 테스트 웨어를 유지보수 조직에 이관

>> 테스트 프로세스 심사 및 개선 사항

>> 이후 릴리즈나 프로젝트, 테스트 성숙도의 개선에 지침이 될 수 있도록 테스트 프로젝트를 통해 얻은 교훈을 분석

 

효과적 / 효율적의 차이(시험엔 안나와도 알아는 둬볼까.)
효과적(Effective) - 계획되었거나 원했던 테스트 결과 산출.
- 효과적 테스터는 테스팅 노력으로부터 어떤 결과를 도출 할 것인지 결정함.
효율적(Efficent) - 원했던 테스트 겨로가 산출을 생산적으로 수행.
- 효율적 테스터는 가용한 리소스(시간, 자금, 인력)을 적절하고 현명하게 배치.

효율적이면서 효과적인 그 중간을 찾아야 된다.

728x90
반응형

+ Recent posts