경험 기반 테스트

I. 휴리스틱 기반, 경험 기반 테스트

가. 경험 기반 테스트의 개념

  • 이전에 테스터가 다루었던 유사 어플리케이션이나 기술에서의 경험, 직관, 테스트의 기술 능력으로부터 테스트 케이스를 추출하는 기법

나. 경험 기반 테스트의 특징

  • 공식적인 기법으로 다루기 어려운 특별한 케이스를 찾아 실행
  • 테스트 경험에 따라 효율성 및 효과성의 정도 변동 가능
  • 테스트 대상 소프트웨어에 대해 지식을 필요로 함

 

II. 경험 기반 테스트 기법의 종류

기법설명
탐색적 기법
(Exploratory
Testing)
테스트 차터를 기반으로 정해진 시간 내 테스트 설계, 수행 등을 동시에 진행하는 Heuristics Testing 접근법
테스크 케이스 작성 시간을 최소화하고 테스터의 지적 능력을 최대한 활용하여 테스트 수행에 집중
오류 추정 기법
(Error Guessing)
가능한 결함을 나열하고 결함이나 오류를 추정에 의해 검출 및 수정
결함이나 장애리스트 – 경험
결함 발생 데이터 – 실패의 일반적인 지식
체크리스트 기법테스트하고 평가해야 할 내용과 경험을 분류하여 나열해 놓은 체크리스트를 기반으로 테스트 수행
소프트웨어특성기반 TC 도출국제 표준인 ISO/IEC 9126-2 품질 특성을 기준으로 경험적 테스트 케이스를 도출하는 기법
분류 트리 기법
(Classification Tree Method)
구조로 분석, 표현하고 테스트 케이스를 도출하는 기법
Black Box 형태로 테스트하며 명세가 없을 때도 사용 가능한 비공식적 기법의 한 가지

 

III. 경험 기반 테스트의 장단점 및 실행 가이드

가. 경험 기반 테스트의 장단점

장점단점
테스트 케이스 작성 시간을 줄이고 테스터 역량을 충분히 발휘하여 명세 불충분하고 시간 제약 시 효과적테스트 경험에 따라 효과가 다르기 때문에 일관성이 떨어지면 관리가 어려움

나. 경험 기반 테스트의 실행 가이드

  • 경험 기반 Testing 과 공식적 Testing 은 적용 가능 부분과 발견 결함 종류가 다르므로 서로를 보완하는 측면에서 병행하여 적용
  • 테스터 간의 능력 차이를 십분 활용하여 Risk가 높은 곳에 경험이 많고 능력이 있는 테스트 엔지니어를 배치하는 적절한 인력 배치가 필요
  • 테스트 절차와 지침에 따라 Testing을 할 떄 최대의 효과를 볼 수 있음 (즉흥성과 원칙/절차성의 균형 유지 필요)
  • 테스터는 소프트웨어에서 자주 발생하는 결함이나 결함의 분포와 관련이 있는 지식을 필요로 함
  • 새로운 테스터가 이전 테스터의 경험, 방법을 활용할 수 있는 문서화가 필요

다. 테스트 설계 기법의 3가지 유형

분류설명세부 기법
명세
기반
기법
시스템에서 제공하는 기능 및 메뉴 등 명세를 기반으로 테스트 케이스를 설계동등 분할, 경계 값 분석, 의사 결정 테이블, 원인-결과 그래프, 상태전이 테스트, 유즈케이스 테스트
구조
기반
기법
코드와 개발 설계 등의 소프트웨어 구현 정보를 기반으로 테스트 케이스를 기법문장 테스트, 결정/분기 테스트, 조건 테스트, 루프 테스트, 경로 테스트
경험
기반
기법
테스터/개발자/사용자 경험적 지식을 활용
발생 가능한 결함과 분포 등 지식 사용
Error Guessing, 체크리스트 기반, 탐색적 테스트
  • 경험기반 기법 중 탐색적 테스트는 기법이라기보다 Agile 테스트 접근법임

댓글을 남겨주시면 감사드려요~*^^*