애자일 테스트-방법론
Agile은 전체 프로젝트 팀이 모든 활동에 참여하는 반복적 인 개발 방법론입니다. 요구 사항은 고객과 자체 구성 팀 간의 협업을 통해 반복이 진행됨에 따라 진화합니다. 코딩 및 테스트가 대화식으로 점진적으로 수행되므로 개발 과정에서 최종 제품의 품질이 향상되고 고객 요구 사항이 보장됩니다.
모든 반복은 통합 된 작업 제품 증분을 가져오고 사용자 수락 테스트를 위해 제공됩니다. 이렇게 얻은 고객 피드백은 다음 / 후속 반복에 대한 입력이됩니다.
지속적인 통합, 지속적인 품질
지속적인 통합은 애자일 개발 성공의 핵심입니다. 필요한 경우 릴리스를 준비 할 수 있도록 최소한 매일 자주 통합하십시오. 애자일 테스트는 제품의 지속적인 품질을 보장하는 모든 개발 단계의 필수 구성 요소가됩니다. 프로젝트에 참여한 모든 사람의 지속적인 피드백은 제품의 품질을 향상시킵니다.
Agile에서는 커뮤니케이션이 가장 중요하며 고객 요청은 필요할 때 수신됩니다. 이를 통해 모든 입력이 고려되고 개발 과정에서 작업 품질의 제품을 사용할 수 있다는 만족감을 고객에게 제공합니다.
애자일 방법론
애자일 개발을 지원하는 여러 애자일 방법론이 있습니다. 애자일 방법론에는 다음이 포함됩니다.
스크럼
스크럼은 팀 중심 접근 방식을 강조하는 애자일 개발 방법입니다. 모든 프로젝트 개발 활동에 전체 팀의 참여를 옹호합니다.
XP
eXtreme Programming은 고객 중심이며 끊임없이 변화하는 요구 사항에 중점을 둡니다. 잦은 릴리스와 고객 피드백을 통해 최종 제품은 프로세스 중에 더 명확해진 고객 요구 사항을 충족하는 품질이 될 것입니다.
결정
Crystal은 전세, 주기적 배송 및 마무리를 기반으로합니다.
차 터링에는 개발 팀 구성, 예비 타당성 분석 수행, 초기 계획 및 개발 방법론에 도달하는 것이 포함됩니다.
두 개 이상의 배송주기가있는 순환 배송은 개발 단계와 최종 통합 제품 배송에 중점을 둡니다.
Wrap up 동안 사용자 환경으로의 배포, 배포 후 검토 및 반영이 수행됩니다.
FDD
FDD (Feature Driven Development)에는 기능 설계 및 구축이 포함됩니다. FDD와 다른 애자일 개발 방법론의 차이점은 기능이 특정 단계와 짧은 단계에서 별도로 개발된다는 것입니다.
DSDM
DSDM (동적 소프트웨어 개발 방법)은 RAD (Rapid Application Development)를 기반으로하며 Agile Framework에 맞춰 조정됩니다. DSDM은 사용자를 적극적으로 참여시키고 팀이 신속한 의사 결정을 내릴 수 있도록 제품을 자주 제공하는 데 중점을 둡니다.
린 소프트웨어 개발
린 소프트웨어 개발에서는 낭비를 제거하고 고객에게 가치를 제공하는 데 중점을 둡니다. 그 결과 신속한 개발과 가치 제품이 탄생합니다.
낭비에는 부분적으로 완료된 작업, 관련없는 작업, 고객이 사용하지 않는 기능, 배송 지연을 추가하는 결함 등이 포함됩니다.
그만큼 Lean Principles -
- 낭비 제거
- 학습 확대
- 지연 약속
- 팀 역량 강화
- 빠른 전달
- 무결성 구축
- 전체보기
칸반
Kanban은 팀원에게 부담을주지 않으면 서 JIT (Just-In-Time) 전달에 중점을두고 작업 관리에 중점을 둡니다. 모든 참가자가 볼 수 있고 팀 구성원이 대기열에서 작업을 가져올 수있는 작업이 표시됩니다.
Kanban은-
- Kanban 보드 (개발 전반에 걸쳐 시각적 및 지속적)
- 진행중인 작업 (WIP) 제한
- 리드 타임
애자일 테스트 방법론
테스트 관행은 품질 제품을 제공하기 위해 애자일 여부에 관계없이 모든 프로젝트에 대해 잘 정의되어 있습니다. 전통적인 테스트 원칙은 애자일 테스트에서 자주 사용됩니다. 그중 하나는에 초점을 맞춘 초기 테스트입니다.
시스템의 동작을 표현하기위한 테스트 케이스 작성.
조기 결함 예방, 감지 및 제거.
적절한 테스트 유형이 적시에 적절한 테스트 수준의 일부로 실행되도록합니다.
우리가 논의한 모든 애자일 방법론에서 애자일 테스트 그 자체가 방법론입니다. 모든 접근 방식에서 테스트 케이스는 코딩 전에 작성됩니다.
이 튜토리얼에서는 Agile 테스트 방법론으로서 Scrum에 초점을 맞출 것입니다.
일반적으로 사용되는 다른 애자일 테스트 방법은 다음과 같습니다.
Test-Driven Development (TDD) − TDD (Test-Driven Development)는 테스트 지침에 따라 코딩을 기반으로합니다.
Acceptance Test-Driven Development (ATDD) − ATDD (Acceptance Test-Driven Development)는 고객, 개발자 및 테스터 간의 의사 소통을 기반으로하며 사전 정의 된 수락 기준 및 수락 테스트 사례에 따라 진행됩니다.
Behavior-Driven Development (BDD) − BDD (In Behavior-Driven Development) 테스트는 개발중인 소프트웨어의 예상되는 동작을 기반으로합니다.
애자일 테스트 라이프 사이클
스크럼에서 테스트 활동에는 다음이 포함됩니다.
테스트 케이스로 묘사 된 시스템의 예상 동작을 기반으로 사용자 스토리에 기여
테스트 노력 및 결함을 기반으로 한 릴리스 계획
사용자 스토리 및 결함을 기반으로 한 스프린트 계획
지속적인 테스트를 통한 스프린트 실행
스프린트 완료 후 회귀 테스트
테스트 결과보고
자동화 테스트
테스트는 아래의 다이어그램에 표시된대로 반복적이고 스프린트 기반입니다.