1. ATDD(Acceptance Test Driven Development)의 개요
1-1. ATDD(Acceptance Test Driven Development)의 정의
- 테스트로부터 시작해서 구현을 마무리 짓는 TDD의 범위를 소스 코드 수준에서 기능 테스트 수준까지 확장하여 고품질의 소프트웨어를 생산하는 개발 방법론
1-2. ATDD(Acceptance Test Driven Development)의 필요성
- 테스트 케이스 명확: 개발 착수 전 사용자, 개발자, QA등 제품 관련자들이 인수 테스트 케이스를 작성
- 커뮤니케이션 도구: 토론하는 과정을 통해 요구사항에 대한 오해가 없고 충분한 의사소통가능
2. ATDD(Acceptance Test Driven Development )의 프로세스, 단계별 활동, 관련 기법간 비교
2-1. ATDD(Acceptance Test Driven Development)의 프로세스
2-2. ATDD(Acceptance Test Driven Development)의 단계별 활동
1) 요구사항 토론
활동 : 명확한 인수 기준 항목, 기능별 질문 사항 요구
연관요소: 이해관계자와 협업, 자연어 기반 기록
2) 프레임워크 포맷 기반의 케이스 작성
활동: 테스트 자동화 F/W, 다양한 유형 테스트
연관요소: FIT, Selenium
3) TDD 수행
활동: 테스트 픽스처 작성, setUp, tearDown
연관요소: Regression Test, SUT
4) 탐색적 테스팅
활동: Test Code를 수행하면서 테스트 시나리오 작성
연관요소: 테스트 차터
2-3. ATDD(Acceptance Test Driven Development)와 관련 기법간 비교
항목 | ATDD | TDD |
관점 | 인수테스트 | 단위테스트 |
용어사용 | TDD 기반 언어 | 비 표준 어휘 |
핵심 | User Story 기반 | 테스트 케이스 |
사례 | assert(기대값, 실제값) | assert(기대값, 실제값) |
대표 F/W | FIT | xUnit |
장점 | 인수 품질 향상 | 코드 품질 향상 |
단점 | 오랜 작성기간 | 설계관점 취약 |
- ATDD 시스템 품질(상위 레벨), TDD 소스 품질(하위 레벨)
'1. IT Story > Basic Studies' 카테고리의 다른 글
SCRUM (0) | 2019.06.24 |
---|---|
ALM(Application Lifecycle Management) (0) | 2019.06.23 |
Daily Build (0) | 2019.06.22 |
CI(Continuous Integration) (0) | 2019.06.21 |
SEM(Strategic Enterprise Management) (0) | 2019.06.19 |
TDD (Test Driven Development) (0) | 2019.06.18 |
XP (extreme Programming) (0) | 2019.06.17 |
Agile 개발방법론 (0) | 2019.06.16 |