애자일 테스트-개요
Agile반복 개발 방법론으로 개발 및 테스트 활동이 동시에 수행됩니다. 테스트는 별도의 단계가 아닙니다. 코딩 및 테스트는 대화식으로 점진적으로 수행되므로 고객 요구 사항을 충족하는 품질의 최종 제품이 생성됩니다. 또한 지속적인 통합을 통해 결함을 조기에 제거하여 시간, 노력 및 비용을 절감 할 수 있습니다.
애자일 선언
Agile Manifesto는 2001 년 소프트웨어 개발자 팀에 의해 발표되었으며, 변화하는 요구 사항과 고객 참여를 수용하면서 개발 팀의 중요성을 강조했습니다.
The Agile Manifesto is −
우리는 소프트웨어를 개발하고 다른 사람들이 그렇게하도록 도와줌으로써 더 나은 소프트웨어 개발 방법을 찾고 있습니다. 이 작업을 통해 우리는 가치를 얻었습니다.
- 프로세스 및 도구에 대한 개인 및 상호 작용.
- 포괄적 인 문서에 대한 작업 소프트웨어.
- 계약 협상을 통한 고객 협력.
- 계획에 따라 변경에 대응.
즉, 오른쪽 항목에는 가치가있는 반면 왼쪽 항목에는 더 가치가 있습니다.
애자일 테스트 란 무엇입니까?
애자일 테스트는 애자일 소프트웨어 개발 원칙을 따르는 소프트웨어 테스트 방법입니다.
애자일 테스트에는 테스터가 제공하는 특별한 전문 지식을 갖춘 프로젝트 팀의 모든 구성원이 참여합니다. 테스트는 별도의 단계가 아니며 요구 사항, 디자인 및 코딩 및 테스트 케이스 생성과 같은 모든 개발 단계와 결합됩니다. 테스트는 개발 수명주기 동안 동시에 진행됩니다.
또한 테스터가 교차 기능 팀 구성원과 함께 전체 개발 라이프 사이클에 참여하면 더 나은 디자인과 코드로 고객 요구 사항에 따라 소프트웨어를 구축하는 데 테스터의 기여가 가능해질 것입니다.
애자일 테스트는 모든 수준의 테스트와 모든 유형의 테스트를 다룹니다.
애자일 테스트 대. 폭포 테스트
폭포 개발 방법론에서 개발 수명주기 활동은 순차적 인 단계에서 발생합니다. 따라서 테스트는 별도의 단계이며 개발 단계가 완료된 후에 만 시작됩니다.
다음은 Agile Testing과 Waterfall Testing의 차이점에 대한 하이라이트입니다.
애자일 테스트 | 폭포 테스트 |
---|---|
테스트는 별도의 단계가 아니며 개발과 동시에 발생합니다. | 테스트는 별도의 단계입니다. 모든 레벨과 유형의 테스트는 개발 완료 후에 만 시작할 수 있습니다. |
테스터와 개발자가 함께 작업합니다. | 테스터는 개발자와 별도로 작업합니다. |
테스터는 요구 사항을 제시하는 데 관여합니다. 이는 실제 시나리오의 동작에 대한 요구 사항 매핑과 수용 기준 구성에 도움이됩니다. 또한 논리적 수용 테스트 케이스가 요구 사항과 함께 준비됩니다. | 테스터는 요구 사항 단계에 참여할 수 없습니다. |
수락 테스트는 모든 반복 후 수행되며 고객 피드백을 구합니다. | 수락 테스트는 프로젝트가 끝날 때만 수행됩니다. |
모든 반복은 자체 테스트를 완료하므로 새로운 기능이나 로직이 출시 될 때마다 회귀 테스트를 구현할 수 있습니다. | 회귀 테스트는 개발 완료 후에 만 구현할 수 있습니다. |
코딩과 테스트 사이에 시간 지연이 없습니다. | 코딩과 테스트 사이의 일반적인 시간 지연. |
겹치는 테스트 수준으로 연속 테스트. | 테스트는 시간 제한 활동이며 테스트 수준은 겹칠 수 없습니다. |
테스트는 모범 사례입니다. | 테스트는 종종 간과됩니다. |
애자일 테스트 원칙
애자일 테스트의 원칙은 다음과 같습니다.
Testing moves the project forward− 지속적인 테스트는 지속적인 진행을 보장하는 유일한 방법입니다. Agile Testing은 지속적으로 피드백을 제공하며 최종 제품은 비즈니스 요구를 충족합니다.
Testing is not a phase− 애자일 팀은 개발 팀과 함께 테스트하여 주어진 반복 중에 구현 된 기능이 실제로 수행되는지 확인합니다. 테스트는 이후 단계를 위해 보관되지 않습니다.
Everyone tests− 애자일 테스트에서는 분석가, 개발자 및 테스터를 포함한 전체 팀이 애플리케이션을 테스트합니다. 모든 반복 후에 고객도 사용자 수락 테스트를 수행합니다.
Shortening Feedback Loops− Agile Testing에서 비즈니스 팀은 매 반복마다 제품 개발을 파악합니다. 그들은 모든 반복에 관여합니다. 지속적인 피드백은 피드백 응답 시간을 단축하므로이를 수정하는 데 드는 비용이 적습니다.
Keep the Code Clean− 동일한 반복 내에서 발생하는 결함이 수정됩니다. 이를 통해 모든 개발 이정표에서 깨끗한 코드를 보장합니다.
Lightweight Documentation − 포괄적 인 테스트 문서 대신 애자일 테스터 −
재사용 가능한 체크리스트를 사용하여 테스트를 제안하십시오.
부수적 인 세부 사항보다는 테스트의 본질에 집중하십시오.
간단한 문서 스타일 / 도구를 사용합니다.
탐색 적 테스트를 위해 헌장에 테스트 아이디어를 캡처합니다.
여러 목적으로 문서를 활용합니다.
Leveraging one test artifact for manual and automated tests− 동일한 테스트 스크립트 아티팩트를 수동 테스트 및 자동화 테스트를위한 입력으로 활용할 수 있습니다. 이렇게하면 수동 테스트 문서와 이에 상응하는 자동화 테스트 스크립트가 필요하지 않습니다.
“Done Done,” not just done − Agile에서 기능은 개발 후가 아니라 개발 및 테스트 후에 수행된다고합니다.
Test-Last vs. Test Driven− 테스트 케이스는 요구 사항과 함께 작성됩니다. 따라서 테스트를 통해 개발을 주도 할 수 있습니다. 이 접근 방식을 TDD (Test Driven Development) 및 ATDD (Acceptance Test Driven Development)라고합니다. 이것은 Waterfall Testing의 마지막 단계 인 테스트와는 대조적입니다.
애자일 테스트 활동
프로젝트 수준의 애자일 테스트 활동은 다음과 같습니다.
릴리스 계획 (테스트 계획)
모든 반복에 대해
반복 중 애자일 테스트 활동
회귀 테스트
릴리스 활동 (테스트 관련)
반복 중 애자일 테스트 활동에는 다음이 포함됩니다.
- 반복 계획에 참여
- 테스트 관점에서 작업 추정
- 기능 설명을 사용하여 테스트 케이스 작성
- 단위 테스트
- 통합 테스트
- 기능 테스트
- 결함 수정
- 통합 테스트
- 수락 테스트
- 테스트 진행 상황보고
- 결함 추적