⚠️ 이 포스팅은 드림코딩을 공부하고 정리한 블로그 포스팅입니다. ⚠️
포스팅에 해당하는 목차는 다음과 같습니다:
테스트(Test)란?
개발에서 테스트란 제품이 예상하는 대로 동작하는지 확인해 제품의 품질을 검증하는 과정으로 소프트웨어의 버그를 찾아내는 것을 말한다. 여기서 제품이란 함수, 특정 기능, UI, 성능, API 스펙등이 될 수 있다.
테스트의 종류
제품의 목표, 플랫폼, 환경이 무엇이냐에 따라서 다양한 테스트가 있다.
- Unit Test
- Functional Test
- Integration Test
- Component Test
- Contract Test
- E2E Test
- Performance Test
테스트 과정
- 비즈니스 로직을 가지고 있는 코드 작성
- 그에 해당하는 테스트 코드도 함께 작성
- 테스트 코드는 비즈니스 로직을 가진 코드가 예상대로 동작하는지 검증해줌
(함수가 어떻게 동작해야하는지, 특정한 기능이 어떻게 동작해야하는지 등) - 테스트 실패하면 1번부터 반복
TDD(Test-Driven Development)란?
테스트 주도 개발로 개발전 테스트 코드를 먼저 작성하는 개발 방법론을 말한다.
TDD 방법으로 개발하기
테스트 작성 → 기능 구현 → 성공 → 반복 → 기능 구현 완료, 테스트 통과 → 리팩토링
특정 기능을 세분화해 딱 하나의 케이스에 대한 테스트 코드를 작성한 후 테스트를 통과할 수 있을만큼만 기능 구현한다.
TDD(테스트 주도 개발)의 장점
- 요구사항에 대한 분석 및 이해가 필요하기 때문에 제품이 원하는 모든 요구사항을 점검 할 수 있음
- 설계자의 관점에서 코드를 작성해나갈수 있음
- 사용자 입장에서 코드를 작성할 수 있음
- 구현보다는 인터페이스에 더 집중해서 코드를 작성할 수 있으므로 코드의 퀄리티와 시스템 전반적인 설계가 향상됨
'웹개발 · IT 지식' 카테고리의 다른 글
| [웹개발] 10분 테코톡 노트정리: 웹 표준과 웹 접근성 (0) | 2022.11.27 |
|---|---|
| [한줄정리/웹개발] E2E 테스팅이란? (0) | 2022.11.27 |
| [웹개발] 드림코딩 노트정리: CI/CD (0) | 2022.11.27 |
| [웹개발] 프론트앤드에서 성능 최적화란? (0) | 2022.11.25 |
| [웹개발] CORS & SOP (0) | 2022.11.25 |
댓글