체크리스트 기반 테스팅 (Checklist-based Testing)
Checklist-based Testing은 테스트 대상의 중요한 항목들을 체크리스트로 만들어 이를 기반으로 테스트를 수행하는 경험 기반 테스트 기법이다.
숙련된 테스터가 제품 검증을 위한 일련의 규칙이나 기준, 또는 참고/확인/기억해야 하는 상위수준 아이템 목록을 사용한다.
주요 특징
- 구조화된 접근 방식: 테스트 과정에 체계적인 구조를 제공한다.
- 일관성과 반복성: 모든 테스터가 동일한 단계를 따르고 동일한 항목을 확인하도록 보장한다.
- 중요 항목 누락 방지: 체크리스트를 통해 중요한 테스트 항목을 놓치지 않도록 한다.
- 경험 활용: 테스터의 경험과 지식을 체크리스트에 반영하여 활용한다.
적용 분야
Checklist-based Testing은 다양한 테스트 유형에 적용될 수 있다:
- 기능 테스팅
- 비기능 테스팅
- 사용자 인터페이스 테스팅
- 보안 테스팅 (PCI, HIPAA 등)
- 모바일 테스팅
- 접근성 테스팅 등
장점
- 테스트 프로세스의 표준화
- 일관성 있는 테스트 수행 가능
- 테스트 팀 간 커뮤니케이션 개선
- 테스트 문서 작성 및 유지보수 시간 단축
한계점
- 체크리스트 작성과 유지보수에 시간 소요
- 예상치 못한 오류 발견에 제한적일 수 있음
- 테스터의 창의성을 제한할 수 있음
수행 방법
- 체크리스트 작성: 테스트 범위 식별, 테스트 케이스 개요 작성, 전제 조건 및 예상 결과 정의
- 체크리스트 할당: 적절한 테스터 선택 및 요구사항 이해 확인
- 테스트 실행: 체크리스트에 따라 체계적으로 테스트 수행 및 결과 기록
- 결과 검토 및 분석: 반복적인 문제 식별 및 체크리스트 효과성 분석
- 체크리스트 업데이트 및 유지보수: 소프트웨어 변경에 따른 지속적인 업데이트
예시
로그인 기능에 대한 체크리스트는 다음과 같이 구성될 수 있다:
|
|
테스트 케이스 설계의 예시:
|
|
체크리스트 기반 테스팅을 효과적으로 수행하기 위한 추천사항:
- 프로젝트의 특성에 맞는 맞춤형 체크리스트를 작성하라.
일반적인 템플릿을 시작점으로 사용할 수 있지만, 프로젝트의 고유한 요구사항을 반영해야 한다. - 체크리스트를 계층적으로 구성하라.
상위 수준의 일반적인 항목에서 시작하여 세부적인 검증 항목으로 구체화하면 테스트의 구조화가 용이하다. - 자동화 가능한 항목은 자동화 테스트로 구현하라.
반복적인 검증 항목들은 자동화하여 테스트 효율성을 높일 수 있다. - 정기적인 리뷰와 업데이트를 수행하라.
새로운 기능이 추가되거나 기존 기능이 변경될 때마다 체크리스트를 검토하고 필요한 항목을 추가/수정한다.