[섹션 1: SW 테스팅의 기초] 3. 테스트 프로세스

IMKUNYOUNG·2023년 11월 19일
0

ISTQB FL

목록 보기
3/5

1.4 테스트 프로세스

  • 1.4.1 (K2): 정황이 테스트 프로세스에 미치는 영향에 대해 설명할 수 있다.
  • 1.4.2 (K2): 테스트 프로세스의 테스트 활동과 연관된 작업에 대해 설명할 수 있다.
  • 1.4.3 (K2): 테스트 프로세스를 지원하는 작업 산출물을 구별할 수 있다.
  • 1.4.4 (K2): 테스트 베이시스와 테스트 작업 산출물 간의 추적성을 유지하는 것이 어떻게 도움이 되는지 설명할 수 있다.

정황에 따른 테스트 프로세스

  • 테스트 프로세스
    • 설정한 목적의 달성 가능성을 높여주는 공통적인 테스트 활동 세트 (sets)
    • 테스트 계획, 분석, 설계, 테스트 구현, 테스트 진행 상황 및 결과 보고, 테스트 대상 품질 평가 등
  • 조직의 테스트 프로세스(the test process for an organization)에 영향을 줄 수 있는 정황 요소
    • 사용 중인 소프트웨어 개발 수명주기 모델과 프로젝트 방법론
    • 적용하고자 하는 테스트 레벨과 테스트 유형
    • 제품 및 프로젝트 리스크
    • 비즈니스 도메인
    • 다음과 같은 운영상의 제약사항:
      • 예산과 자원 (resource)
      • 일정
      • 복잡도
      • 계약 및 규제 요구사항
    • 운영 정책과 프랙티스 (practices)
    • 준수해야 하는 내부 및 외부 표준
  • 테스트 활동과 구현, 수행에 대한 내용은 조직의 테스트 전략 (general aspects of organizational test process)관련이 있음.

테스트 프로세스


테스트 프로세스 - 테스트 계획

  • 테스팅의 목적과 정황으로 인한 제약 사항을 고려해 테스트 목적을 달성하기 위해 필요한 접근법을 정의하는 활동
    • 적합한 테스트 기법과 작업
    • 정해진 출시 일정 전에 완료하기 위한 테스트 일정
  • 테스트 계획은 모니터링과 제어 활동의 피드백을 기반으로 수정될 수 있음
    • 테스트 계획은 시간이 지나면서 업데이트 될 수 있음

테스트 프로세스 - 테스트 모니터링과 제어

  • 테스트 모니터링: 테스트 계획에 정의된 테스트 모니터링 메트릭을 활용해 실제 진행 상황을 테스트 계획과 지속적으로 비교하는 활동
  • 테스트 제어: 테스트 계획의 목적 달성을 위해 필요한 행동을 수행하는 것
  • 종료 조건(또는 완료의 정의) 평가
    • 명시된 커버리지 조건 대비 테스트 결과와 로그 확인
    • 테스트 결과와 로그를 기반으로 컴포넌트나 시스템의 품질 수준 평가
    • 추가 테스트 필요 여부 결정 (예: 일정 수준의 제품 리스크 커버리지를 달성하고자 했던 테스트가 그러지 못했을 경우, 추가적인 테스트 작성 및 실행 요구)

테스트 프로세스 - 테스트 분석

  • 테스트 베이시스를 분석하여 테스트 컨디션을 식별하는 활동
    • "무엇을 테스트할지"를 결정하는 것
  • 테스트 베이시스 평가
  • 테스트 베이시스와 테스트 항목을 평가해서 결함 식별
  • 테스트 할 기능과 기능 세트 식별
  • 테스트 컨디션의 정의 및 우선순위 선정
  • 테스트 베이시스의 개별 요소와 연관된 테스트 컨디션 간의 양방향 추적성 포착
  • 테스트 베이시스: 테스트 분석 및 설계에 사용되는 지식 (개발에 관련된 작업 산출물)
  • 테스트 컨디션: 테스트 케이스에 의해 검증될 수 있는 항목

테스트 프로세스 - 테스트 설계

  • 테스트 컨디션을 기반으로 상위 수준의 테스트 케이스, 상위 수준 테스트 케이스 세트, 기타 테스트웨어를 생성
    • "어떻게 테스트할 것인가?"
  • 테스트 케이스와 테스트 케이스 세트 설계 및 우선 순위 선정
  • 테스트 컨디션과 테스트 케이스에 필요한 테스트 데이터 식별
  • 테스트 환경 설계와 필요한 인프라 및 도구 식별
  • 테스트 베이시스, 테스트 컨디션, 테스트 케이스 간의 양방향 추적성 설정

테스트 구현

  • "테스트를 실행하기 위해 필요한 모든 것이 갖춰져 있는가?" 라는 질문에 답하는 활동
  • 테스트 프로시저의 개발과 우선순위 선정, 자동 테스트 스크립트 생성
  • 테스트 프로시저와 자동 테스트 스크립트로부터 테스트 스위트 (test suite) 생성
  • 효과적인 테스트 실행이 가능하도록 테스트 스위트를 테스트 실행 일정 내에 배치
  • 테스트 환경 구축 그리고 필요한 모든 사항을 제대로 구현했는지 확인
  • 테스트 데이터를 준비하고, 테스트 환경에 제대로 입력했는지 확인
  • 테스트 베이시스, 테스트 컨디션, 테스트 케이스, 테스트 프로시저, 테스트 스위트 서로 간의 양방향 추적성 검증과 업데이트

테스트 스위트: 특정 테스트 주기에서 수행해야 하는 테스트 케이스의 집합


테스트 실행

  • 테스트 항목, 테스트 대상, 테스트 도구, 테스트웨어 등의 고유번호(ID)와 버전 기록
  • 테스트를 수동으로 혹은 테스트 실행 도구를 활용해서 실행
  • 기대 결과와 실제 결과 비교
  • 이상 현상(anomalies)를 분석해 원인 파악
  • 관찰한 장애를 기반으로 결함 보고
  • 테스트 실행 결과 기록 (예: 합격, 불합격, 실행할 수 없음)
  • 이상 현상 때문에 취한 활동의 결과로 인해 또는 계획된 테스팅의 일부로 테스트 활동
  • 테스트 베이시스, 테스트 컨디션, 테스트 케이스, 테스트 프로시저, 테스트 결과 간의 양방향 추적성 검증과 업데이트

테스트 완료

  • 완료한 테스트 활동에서 데이터를 수집해서 경험, 테스트웨어, 기타 관련 정보를 축적하는 활동
  • 모든 결함 보고 처리를 완료했는지, 테스트 실행 후 해결되지 않은 모든 결함에 대해 수정 요청서 또는 프로젝트 백로그 항목을 생성했는지 확인
  • 이해관계자에게 전달할 테스트 요약 보고서 생성
  • 차후 재사용을 위해 테스트 환경, 테스트 인프라, 기타 테스트웨어의 마무리 및 보관
  • 테스트웨어를 유지보수팀, 다른 프로젝트팀, 그것을 활용할 수 있는 기타 이해관계자 등에게 인계
  • 완료한 테스트 활동을 통해 얻은 교훈을 분석해서 향후 반복주기, 릴리스, 또는 프로젝트를위해 수정해야 하는 사항 판단
  • 테스트 프로세스 성숙도 개선을 위해 수집된 정보 활용

테스트웨어: 테스트 프로세스에서 사용되는 다양한 도구, 자원 및 소프트웨어 컴포넌트


테스트 작업 산출물

테스트 프로세스테스트 작업 산출물
테스트 계획- 하나 이상의 테스트 계획
테스트 모니터링과 제어- 테스트 진행 현황 보고서 (지속해서 또는 정기적으로 생성)
- 테스트 요약 보고서 (다양한 완료 마일스톤에서 생성)
- 와 같은 다양한 종류의 테스트 보고서
테스트 분석- 테스트 컨디션
- 테스트 차터 (탐색적 테스팅)
테스트 설계- (상위 수준의) 테스트 케이스
- 테스트 케이스 세트
- 경우에 따라 테스트 데이터, 테스트 환경 요구사항
테스트 구현- 테스트 프로시저와 이 프로시저의 배열
- 테스트 스위트
- 테스트 실행 일정
- 경우에 따라 테스트 도구와 도구로 생성되는 작업 산출물
테스트 실행- 개별 테스트 케이스나 테스트 프로시저의 상태에 대한 문서
- 결함 보고서
- 테스팅에 사용한 테스트 항목, 테스트 대상, 테스트 도구, 테스트웨어 등에 대한 문서
테스트 완료- 테스트 요약 보고서
- 차후 프로젝트 반복 주기의 개선을 위한 액션 아이템
- 수정 요청서 혹은 제품 백로그 항목
- 완성된 테스트웨어

테스트 베이시스와 테스트 작업 산출물 간의 추적성

  • 효과적인 테스트 모니터링과 제어를 구현하기 위해서 테스트 프로세스 전반에 걸처 테스트 베이시스의 개별 요소 및 해당 요소와 관련된 다양한 테스트 작업 산출물 간의 추적성을 확립하고 유지하는 것이 중요

  • 좋은 추적성의 장점

    • 수정으로 인한 영향 평가 가능
    • 테스팅에 대한 감사 가능
    • IT 통제 (IT Governance) 조건을 충족할 수 있게 함
    • 테스트 베이시스 개별 요소의 상태에 대한 정보를 포함함으로써 테스트 진행 상황 보고서와 테스트 요약 보고서를 좀 더 쉽게 이해할 수 있음
    • 테스팅의 기술적인 내용을 이해관계자가 이해할 수 있는 형태로 전달
    • 비즈니스 목표 대비 제품 품질, 프로세스 역량, 프로젝트 진행 상황 등을 평가할 수 있는 정보 제공
    • 테스트 커버리지 평가


문제

  1. 다음 중 테스트 프로세스 결정에 영향을 미치는 요소 중 가장 적절한 것은
    • a. 고객의 선호도
    • b. 테스트를 위해 할당된 예산
    • c. 사용자의 선호도
    • d. 테스트가 수행되는 국가

  1. 다음 중 '테스트 구현'에 해당하는 활동은 무엇인가?
    • a. 추가적인 테스트가 필요한지 또는 종료 조건을 변경해야 하는지 평가한다.
    • b. 계획된 산출물을 작성했는지 확인한다.
    • c. 테스트 환경이 올바르게 설정되었는지 확인한다.
    • d. 테스트 컨디션과 테스트 케이스에 필요한 테스트 데이터를 식별한다.

  1. 다음 중 '테스트 실행' 단계에서 작성되는 작업 산출물로 올바른 것은?
    • a. 테스트 데이터
    • b. 테스트 케이스 상태
    • c. 테스트 인프라 및 도구 정보
    • d. 테스트 컨디션

  1. 다음 중 테스트 베이시스와 테스트 작업 산출물 간의 추적성 유지에 대한 이점으로 가장 적절한 것은?
    • a. 성공적으로 수행된 테스트 케이스의 수에 따라 테스터를 객관적으로 평가할 수 있다.
    • b. 실패한 테스트를 수정할 개발자를 선택할 수 있다.
    • c. 실패한 테스트에 영향을 받는 테스트 베이시스를 식별할 수 있다.
    • d. 모든 테스트 환경 및 테스트 데이터의 현재 상태를 확인할 수 있다.

8번 문제 정답: b

9번 문제 정답: c

10번 문제 정답: b

11번 문제 정답: c

0개의 댓글