단위 테스트
정의
프로그램의 작은 단위인 함수나 메서드가 제대로 동작하는지 확인하는 과정
개발자가 작성한 코드가 예상대로 작동하는지 체크한다.
AAA 테스트 패턴
- Arrange (준비): 테스트를 위한 데이터와 환경 준비.
- Act (실행): 테스트할 코드 실행.
- Assert (단언): 실행 결과가 기대한 대로 나왔는지 확인.
Given-When-Then 테스트 패턴
- Given (준비): 테스트를 위한 초기 조건을 설정.
- When (실행): 테스트할 동작이나 이벤트를 실행.
- Then (단언): 실행 결과가 예상한 대로 나왔는지 확인.
given - when - then 테스트 패턴과 AAA 테스트 패턴은 매우 유사하다.
given(arrange), when(act), then(assert)
다만 차이점이 있다면 표현 방식과 맥락에 차이가 있다.
차이점
- 표현 방식
- AAA : 각 단계의 행동을 설명하는 데 초점을 맞춘다.
- Given-When-Then : 상황과 결과를 이야기하듯이 설명한다.
- 사용 사례
- AAA : 주로 단위 테스트에서 많이 사용된다.
- Given-When-Then : 주로 행동 기반 개발(BDD: Behavior-Driven Development)에서 사용된다.
무엇을 테스트하는가? - BICEP 원칙
- Right: 결과가 올바른지 확인.
- B (Boundary conditions): 경계 조건 테스트.
- I (Inverse relationships): 역 관계 테스트.
- C (Cross-check using other means): 다른 방법으로 결과 검증.
- E (Force error conditions): 에러 조건 강제로 생성.
- P (Performance characteristics): 성능 특성 테스트.
좋은 테스트의 특성 - A-TRIP 원칙
- A (Automatic): 자동적이어야 함.
- T (Thorough): 철저해야 함.
- R (Repeatable): 반복 가능해야 함.
- I (Independent): 독립적이어야 함.
- P (Professional): 전문적이어야 함.
'부스트캠프 > 챌린지' 카테고리의 다른 글
[부스트캠프 웹모바일 9기] 챌린지 2주 차 회고 (0) | 2024.07.28 |
---|---|
[부스트캠프 웹모바일 9기] 챌린지 Day 9 학습 정리 (0) | 2024.07.25 |
[부스트캠프 웹모바일 9기] 챌린지 Day 8 학습 정리 (0) | 2024.07.24 |
[부스트캠프 웹모바일 9기] 챌린지 Day 6 학습 정리 (0) | 2024.07.22 |
[부스트캠프 웹모바일 9기] 챌린지 1주 차 회고 (2) | 2024.07.21 |