단위 테스트란?
소프트웨어의 가장 작은 기능적 단위를 독립적으로 검증하는 테스트 방법
<주요 특징>
1. 독립성
: 다른 테스트나 외부 시스템에 의존하지 않고 독립적으로 실행
: 각 테스트는 서로 영향을 주지 않아야 함
2. 범위와 속도
: 하나의 함수, 메서드, 클래스 등 작은 단위에 집중
: 빠른 실행과 즉각적인 피드백 제공
: 자동화된 방식으로 반복 실행 가능
➡️ 단위 테스트는 소프트웨어의 지속 가능한 성장을 가능하게 하는 핵심 도구이며, 장기적인 개발 생산성을 유지하는데 필수적이다.
BE 단위 테스트
: 독립적으로 테스트할 수 있는 함수/ 메서드들은 모두 테스트
: 몇 개의 모듈이 조합하여 결과를 만들어야 하는 경우가 많음
- 발생할 수 있는 요청 각각에 대한 테스트 케이스들을 마련하는 것이 합리적
- 대부분의 요청에 대해서는 데이터베이스 및 쿠키 상태를 가지는 객체가 결부되어 있음
- ➡️ Mock 을 이용하여 테스트 대상을 분리하는 것이 필요
FE 단위 테스트
< 만족해야 하는 조건들 >
- HTML 요소들의 생성(렌더링)
- "회원가입" 버튼의 클릭 => onSubmit callback 의 호출
- input 요소들에 의한 올바른 인자의 전달
- "로그인" 링크의 클릭 => /login 으로 이동
- "회원가입" 버튼의 클릭(단, "비밀번호"와 "비밀번호 확인" input 에 입력된 내용의 불일치)
: onSubmit callback 호출 발생하지 않음
: alert 로 경고 메시지 발생
🌟 배운 점
오늘은 단위 테스트, 컨테이너화에 대해서 배웠다. 단위 테스트를 하면 버그를 조기에 발견하고 수정이 가능해 품질이 향상되고, 빠른 피드백을 통해 개발 생산성이 향상된다고 한다. 프로젝트를 하다 보면, 점점 규모가 커질수록 테스트를 한 번에 하기 어렵고, 생각하지 못한 오류가 발생하는 경우가 많은데 이를 방지하기 위해 개발 과정에서 지속적으로 단위 테스트를 실행하면 훨씬 퀄리티가 좋은 프로젝트를 수행할 수 있을 것 같다.
'데브코스 > 웹 기반 문서 편집기 제작 프로젝트' 카테고리의 다른 글
AWS(Amazon Web Services) (0) | 2025.01.03 |
---|---|
Selenium과 E2E 테스트 (0) | 2025.01.01 |
개발 환경 셋업 (0) | 2024.12.20 |
응용 구조 설계 (0) | 2024.12.19 |
웹 기반 문서 편집기 제작 프로젝트 (0) | 2024.12.18 |