목표

  • 오류 추정을 설명할 수 있다
  • 탐색적 테스팅을 설명할 수 있다
  • 체크리스트 기반 테스팅을 설명할 수 있다

1. 오류 추정(= 결함을 추정한다), 오류/결함 및 장애 발생을 예측하는 기술

접근법 - 테스터의 지식과 경험 또는 결함 및 장애 데이터를 기반으로, 발생 가능한 오류/결함/장애 목록을 작성하고, 장애와 그것의 원인이 되는 결함을 노출하는 테스트를 설계한다.

 

2. 탐색적 테스팅(경험기반 테스트에서 가장 중요!!)

  • 비공식(사전에 정의되지 않은, 테케를 미리 만들어놓지 않은) 테스트를 테스트 실행 중에 동적으로 설계/실행/기록/평가한다 + 명세기반기법에서는 테케를 미리 만들어 놓는다
  • 세션 기반 테스팅을 사용하여 활동을 구성한다. 탐색적 테스팅을 정해진 시한(time-box)동안 수행한다. 제한시간동안 몰입하여 테스트를 수행한다
  • 첫번째 세션의 테스트 결과는 컴포넌트나 시스템에 대해 더 많이 학습하고, 더 많은 테스트가 필요한 영역에 대한 테스트를 작성하는 데 활용한다
  • 테스트 차터 : 테스트 목적이 포함된 문서이다. 이를 기반으로 테스팅 방향을 설정한다. 명세 기반(블랙박스) 기법의 테스트 컨디션과 유사하다.
  • 테스트 세션 시트 : 수행 단계와 발견 사항을 기록한 문서이다. 명세 기반(블랙박스) 기법의 테스트 로그와 유사하다.
  • 명세가 충분하지 않거나 적은 경우 또는 테스팅에 상당한 시간적 압박이 있을 때 매우 유용하며, 다른 공식적인 테스팅 기법을 보완하는 데도 유용하다

3. 체크리스트 기반 테스팅(엑셀로 작성될 확률이 높다)

  • 체크리스트에 기록된 테스트 컨디션을 커버하기 위해 테스터가 테스트를 설계/구현/실행한다
  • 체크리스트 : 경험, 사용자에게 무엇이 중요한지에 대한 지식 또는 소프트웨어가 실패하는 이유와 방법에 대한 이해를 기반으로 작성한다. 기능 및 비기능 테스팅을 포함한 다양한 테스트 유형을 지원하기 위해 작성한다.
  • 구체적인 테케가 없는 경우, 대략적인 지침과 일관성을 제공한다
  • 상위 수준의 체크리스트는 커버리지는 높일 수 있겠지만, 재현 가능성이 줄어들 수 있다

 

테스트 기법의 선택

  • 일부 기법은 특정 상황과 테스트 레벨이 더 적합한 반면, 모든 테스트 레벨에 적합한 기법도 있다

기법 선택 시 고려 사항

  1. 컴포넌트나 시스템의 복잡도
  2. 규제 기준, 고객 또는 계약 요구사항
  3. 리스크 수준과 유형 ( 리스크 수준이 높을 수록 강한 기법을 사용한다)
  4. 사용 가능한 문서
  5. 테스터의 지식과 역량
  6. 사용 가능 도구
  7. 시간, 예산
  8. 소프트웨어 개발 수명주기 모델
  9. 예상되는 결함 유형