정의
|
- 이전에 테스터가 다루었던 유사 어플리케이션이나 기술에서의 경험, 직관, 테스터의 기술 능력으로부터 테스트 케이스를 추출하는 기법
|
특징
|
- 공식적인 기법으로 다루기 어려운 특별한 케이스를 찾아서 실행하는데 유용
- 테스터의 경험에 따라 효율성 및 효과성의 정도가 달라질 수 있음
- 테스트 대상 소프트웨어에 대해 지식을 필요로 함
|
필요성
|
- 긴급/효과적 요구사항 충족 : 다양하고 수준 높은 경험을 통한 고객만족
- 보완재 역할 : 공식적 기법 및 다양한 환경에 보완역할 수행
|
구조
|
- 테스트 케이스 기반 테스트 : 테스트케이스 작성 후 실행, 한번에 수행
- 탐색기반 테스트 : 동시에 테스트케이스 도출, 실행, 점진적 주기적 수행
|
주요기능
|
- 탐색적 테스트(Exploratory) : 테스트케이스 작성시간 최소화, 발견적 능력
- 분류트리(Classification Tree Method) : 전체 트리구조로 테스트케이스 도출
- 체크리스트 : 평가할 내용과 경험을 분류하여 나열, 경험과 노하우 정리
- 특성 테스팅(Characteristics) : ISO 9126, 품질특성을 근간으로 경험적 테스트 케이스
|
장점
|
- 스팩이 거의 없거나 불충분한 경우, 시간적 압박이 극심한 경우 유용
- 다른 기법 또는 공식적 테스트를 보완하고자 할 때 유용
- 위험기반 테스팅과 연계한 탐색적 테스팅 활용 : 결함 발견과 보완
|
단점
|
- 테스트의 경험에 따라 효과가 다르기 때문에 일관성이 떨어지면 관리가 어려울 수 있음
- 테스트의 유연성을 위해 테스트의 반복도가 감소할 수 있음. (잠재적인 버그 존재)
|
실행가이드
|
- 경험기반 테스팅과 공식적 테스팅은 적용가능 부분과 발견 결함 종류가 다르므로 서로을 보완하는 측면에서 병행하여 적용
- 테스터간의 능력차이를 십분 활용하여 리스크가 높은 곳에 경험 많고 능력 있는 테스트 엔지니어를 배치하는 적절한 인력배치가 중요
- 테스트 절차와 지침에 따라 테스팅을 할 때 최대의 효과를 볼 수 있음. (즉흥성과 원칙/절차성의 균형 유지필요)
- 테스터는 소프트웨어에서 자주 발생하는 결함이나 결함의 분포와 관련이 있는 지식을 필요로 함
- 새로운 테스터가 이전 테스터의 경험, 방법을 활용할 수 있는 문서화가 필요
|