애자일 테스트-기법
전통적인 테스트의 테스트 기술은 Agile 테스트에서도 사용할 수 있습니다. 이 외에도 Agile 프로젝트에서는 Agile 특정 테스트 기술 및 용어가 사용됩니다.
테스트 기준
애자일 프로젝트에서 제품 백로 그는 요구 사항 사양 문서를 대체합니다. 제품 백 로그의 내용은 일반적으로 사용자 스토리입니다. 비 기능적 요구 사항도 사용자 스토리에서 처리됩니다. 따라서 Agile 프로젝트의 테스트 기반은 사용자 스토리입니다.
품질 테스트를 보장하기 위해 다음을 테스트 기준으로 추가로 고려할 수도 있습니다.
- 동일한 프로젝트 또는 과거 프로젝트의 이전 반복 경험.
- 시스템의 기존 기능, 아키텍처, 디자인, 코드 및 품질 특성.
- 현재 및 과거 프로젝트의 결함 데이터.
- 고객 피드백.
- 사용자 문서.
완료의 정의
완료 정의 (DoD)는 Sprint 백 로그의 활동 완료를 보장하기 위해 Agile 프로젝트에서 사용되는 기준입니다. DoD는 스크럼 팀마다 다를 수 있지만 한 팀 내에서 일관성이 있어야합니다.
DoD는 사용자 스토리의 일부인 비 기능적 요구 사항과 함께 사용자 스토리의 기능 및 기능 구현을 보장하는 필수 활동의 체크리스트입니다. 사용자 스토리는 DoD 체크리스트의 모든 항목이 완료된 후 완료 단계에 도달합니다. DoD는 팀간에 공유됩니다.
사용자 스토리에 대한 일반적인 DoD에는 다음이 포함될 수 있습니다.
- 세부적인 테스트 가능한 허용 기준
- 반복에서 사용자 스토리와 다른 사용자 스토리의 일관성을 보장하기위한 기준
- 제품과 관련된 특정 기준
- 기능적 행동 측면
- 비 기능적 특성
- Interfaces
- 테스트 데이터 요구 사항
- 테스트 범위
- Refactoring
- 검토 및 승인 요구 사항
사용자 스토리에 대한 DoD 외에도 DoD도 필요합니다.
- 모든 수준의 테스트에서
- 각 기능에 대해
- 각 반복에 대해
- 출시 용
테스트 정보
테스터는 다음 테스트 정보가 필요합니다.
- 테스트가 필요한 사용자 스토리
- 관련 수락 기준
- 시스템 인터페이스
- 시스템이 작동 할 것으로 예상되는 환경
- 도구 가용성
- 테스트 범위
- DoD
애자일 프로젝트에서 테스트는 순차적 인 활동이 아니며 테스터는 협업 모드로 작업해야하므로 테스터는 다음을 수행해야합니다.
- 지속적으로 필요한 테스트 정보를 얻습니다.
- 테스트에 영향을 미치는 정보 격차를 식별하십시오.
- 다른 팀 구성원과 공동으로 격차를 해결하십시오.
- 테스트 레벨에 도달 한시기를 결정하십시오.
- 적절한 시간에 적절한 테스트가 실행되도록합니다.
기능 및 비 기능 테스트 설계
Agile 프로젝트에서는 기존 테스트 기술을 사용할 수 있지만 초점은 초기 테스트에 있습니다. 구현이 시작되기 전에 테스트 케이스가 있어야합니다.
기능 테스트 설계의 경우 테스터와 개발자는 다음과 같은 기존의 블랙 박스 테스트 설계 기술을 사용할 수 있습니다.
- 등가 분할
- 경계 값 분석
- 의사 결정 테이블
- 상태 전환
- 클래스 트리
비 기능 테스트 디자인의 경우 비 기능 요구 사항도 각 사용자 스토리의 일부이므로 블랙 박스 테스트 디자인 기술은 관련 테스트 케이스를 디자인하는 데만 사용할 수 있습니다.
탐색 적 테스트
애자일 프로젝트에서 시간은 종종 테스트 분석 및 테스트 설계의 제한 요소입니다. 이러한 경우 탐색 적 테스트 기술을 기존 테스트 기술과 결합 할 수 있습니다.
탐색 테스트 (ET)는 동시 학습, 테스트 설계 및 테스트 실행으로 정의됩니다. 탐색 적 테스트에서 테스터는 테스트가 수행 될 때 테스트 디자인을 적극적으로 제어하고 테스트 중에 얻은 정보를 사용하여 새롭고 더 나은 테스트를 디자인합니다.
탐색 적 테스트는 Agile 프로젝트의 변경 사항을 수용하는 데 유용합니다.
위험 기반 테스트
위험 기반 테스트는 실패 위험을 기반으로 테스트하고 테스트 설계 기술을 사용하여 위험을 완화합니다.
제품 품질 위험은 제품 품질의 잠재적 인 문제로 정의 할 수 있습니다. 제품 품질 위험은 다음과 같습니다.
- 기능적 위험
- 비 기능적 성능 위험
- 비 기능적 사용성 위험
위험 분석은 각 위험의 가능성 (가능성)과 영향을 평가하기 위해 수행됩니다. 그런 다음 위험이 우선 순위가 지정됩니다.
- 고위험에는 광범위한 테스트가 필요합니다
- 낮은 위험에는 커서 테스트 만 필요합니다.
테스트는 각 위험의 위험 수준 및 위험 특성에 따라 적절한 테스트 기술을 사용하여 설계됩니다. 그런 다음 위험을 완화하기 위해 테스트가 실행됩니다.
적합 테스트
적합성 테스트는 자동화 된 수락 테스트입니다. Tools Fit 및 FitNesse는 수락 테스트를 자동화하는 데 사용할 수 있습니다.
FIT는 JUnit을 사용하지만 테스트 기능을 확장합니다. HTML 테이블은 테스트 케이스를 표시하는 데 사용됩니다. Fixture는 HTML 테이블 뒤에있는 Java 클래스입니다. Fixture는 HTML 테이블의 내용을 가져와 테스트중인 프로젝트에서 테스트 케이스를 실행합니다.