일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- alamofire
- snapkit
- AsyncImage
- segue
- pod install
- CoreLocation
- ios
- image
- Java
- ios15
- programmers
- EventKit
- MapKit
- SwiftUI_Preview_Provider
- cocoapods
- 백준
- NotificationCenter
- android
- autolayout
- SWIFT
- ViewModifier
- UserDefaults
- Appearance변경
- Kotlin
- Alert
- 코딩테스트
- UIStackView
- swiftUI
- format형식
- kakaomap
Archives
- Today
- Total
감자주먹밥
BDD 행동 주도 개발 본문
728x90
BDD(Behavior Driven Development)
BDD는 TDD에 기반을 두고 있는 행동 주도 개발 방법으로 테스트 보단 행위에 중점을 두고 개발하는 방법이다.
TDD와 BDD 차이점
- BDD는테스트케이스 자체가 요구사항이 되도록 하는 개발 방법이다.
이미 작성된 요구사항이나 기획서가 있다면 그걸 따라 BDD 방법으로 테스트 케이스를 작성해 TDD보다 빠르게 테스트를 작성하고 검증할 수 있다.
TDD, BDD는 상호보완적인 관계다.각자 장점을 살려 테스트를 작성할 때 두 방법을 동시에 사용할 수 있다. BDD로 시나리오를 검증하고, TDD로 시나리오에 사용되는 모듈들을 검증하는 방식으로 사용하면 좋다.
BDD 작성
BDD 방법으로 테스트 케이스 작성할 땐 요구사항을 받아 설계하는 사람과의 협업, 소통을 위해 개발자가 아닌 사람이 봐도 이해할 수 있는 정도로 작성해야한다. 간략하게 개발자가 아닌 프로젝트 참여자와도 소통, 협력이 가능해야한다.
테스트 케이스 작성은 3가지의 흐름으로 작성하는 걸 권장하고 있다.
- Given : 시나리오 진행에 필요한 값을 설정한다. (시나리오 정의)
- When : 시나리오를 진행하는데 필요한 조건을 명시한다. (시나리오 조건)
- Then : 시나리오를 완료했을 때 보장해야 하는 결과를 명시한다. (시나리오 완료시 보장되는 결과 명시)
Kakao If 에서 BDD에 대해서 자세히 알아보는 세션이 있어 이 영상이 도움이 된다.
https://tv.kakao.com/v/414004682
Swift에서는 BDD 프레임 워크로 Quick이 있다.
728x90
'IOS > Test' 카테고리의 다른 글
TDD 테스트 주도 개발 (0) | 2023.02.02 |
---|---|
XCTest 프로젝트 TestCode 작성&검증 (UI Test) (0) | 2023.02.01 |
XCTest 프로젝트 TestCode 작성&검증 (Unit Test) (0) | 2023.01.28 |
Comments