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 테스트 접근법임
View Comments (0)