테스트 프로세스에서 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) | - 원했던 테스트 겨로가 산출을 생산적으로 수행. - 효율적 테스터는 가용한 리소스(시간, 자금, 인력)을 적절하고 현명하게 배치. |
효율적이면서 효과적인 그 중간을 찾아야 된다.
'ISTQB > ISTQB_공부' 카테고리의 다른 글
ISTQB ) 테스트 심리학, 테스팅의 독립성에 대해 알아보자. (0) | 2024.08.08 |
---|---|
ISTQB ) 소프트웨어 테스팅의 기초에 대해 알아보자. (0) | 2024.08.06 |
ISTQB ) 테스트 vs 개발자, 7가지 테스팅의 원리, 테스팅의 오해에 대해 알아보자. (0) | 2024.08.05 |
ISTQB ) 테스팅의 기초에 대해 알아보자. (0) | 2024.08.05 |