Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- eventcapturing
- 프로그래머스
- swift
- 연결리스트삭제
- 패캠인강후기
- 패스트캠퍼스
- HTML
- 수강료0원챌린지
- Components
- 스위프트
- 사이드프로젝트10개기술스택으로구현하는풀스택서버리스프로젝트withReact
- 직장인인강
- 이벤트버블링
- 연결리스트삽입
- JavaScript
- 패스트캠퍼스후기
- 패캠챌린지
- 오공완
- 연결리스트생성
- ios
- 직장인자기계발
- hig
- stopPropagation
- MVMM
- 환급챌린지
- 실패율
- 이벤트캡처링
- 코딩테스트
- 자료구조
- eventbubbling
Archives
- Today
- Total
날쌘 개발자
프로젝트 설계(10) - 테스트 작성의 정석 본문
728x90
패스트캠퍼스 환급챌린지
15일차 화이팅~
테스트 작성의 정석
-의미 있는 테스트 작성하기
-의도한 대로 정확히 작동하는지 검증하는 절차
테스트의 종류
단위 테스팅 (Unit testing)
- 하나의 모듈/컴포넌트/클래스가 기대한대로 동작하는지, 제공하는 기능들을 테스트
- 대상 컴포넌트에서 의존하는 일부 대상은 목(mock) 객체를 이용하여 테스트 하기 편한 환경을 구축할 수 있음.
- 개발자가 작성
- 자동화된 테스팅
통합 테스팅 (Integration testing)
- 두 개 이상의 모듈이 잘 연동/연결이 되었는지 테스팅. 모듈 간에 발생하는 에러 검증
- e.g. 3rd party API를 호출하면 어떤 응답을 기대하는지 테스팅
- 개발자가 작성
- 자동화된 테스팅
E2E 테스팅 (Ent-to-end testing)
- 실제 사용자가 이용하는 환경과 최대한 유사하게 만들어 사용자의 경험을 전반적으로 테스팅
- 사용자의 입장에서 시스템이 기능을 올바르게 제공하는지 테스팅
- e.g. 시나리오: 사용자가 '그룹 생성하기' 버튼을 클릭하면 해당 페이지로 리다이렉팅 된다.
- QA 조직이 따로 있을 경우, 개발자가 아닌 QA 전문가가 작성하곤 함.
- 자동화된 테스팅
인수 테스팅 (Acceptance testing)
- 시스템이 주어진 요구사항을 잘 충족하는지 테스팅
- 자동화된 테스팅 X, 사람이 수동으로 테스팅
테스트 작성 순서
단위테스트 -> 통합 테스트 -> E2E 테스트
테스트의 영역
- 프론트엔드, 백엔드 등
(
프론트엔드 테스트도 의미가 있음.
특히 기능에 대한 테스팅이 의미가 있음.
특정 컴포넌트가 화면에 어떻게 렌더링 되는지, 컴포넌트들 간의 조합은 잘 되었는지에 대한 테스팅은 의미가 없는 테스팅임.
)
의미 있는 테스트 작성하기
반드시 테스트 해야할 것
- 사용자 요구사항 (user requirement) 이 모두 테스트 케이스화 되어있는지
- 백엔드의 인터페이스를 테스트할 경우, 잘못된 Input을 입력했을 때, 예상된 응답을 내려주는지 (ex. 에러코드 vs Exception을 throw)
- 프론트엔드에서 사용자가 이용할 기능이 동작하는지
- 기능 테스트에 초점을 맞춰야함.
- 페이지에 중요한 버튼이 렌더링 되는지
- 해당 버튼을 클릭하면 예상한대로 동작하는지
테스트 하지 않아도 되는 것
- 모든 라인을 반드시 테스트 해야겠다 --> X
- 페이지에 반응성 (responsive web)인지 테스트 해야겠다. --> X
구현하고자 하는 기능이 있을 때,
어디까지 테스트 케이스를 작성 해야 할까? 에 대한 고민은 항상 있을 것임.
고민하고 항상 '이게 맞는지, 왜 필요한지, 왜 필요하지 않은지' 에 대한 질문을 끊임없이 할 것.
프로젝트 설계 마무리. 다음으로는 개발 환경 구축 부터 시작하여 레이아웃 구현, 각 컴포넌트 구현등 실제 구현을 해볼 예정임.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
728x90
'web > 챌린지' 카테고리의 다른 글
프로젝트 구현(2) - 레이아웃 구현(2) : Bootstrap layout (0) | 2023.03.08 |
---|---|
프로젝트 구현(1) - 개발환경 구축 + 레이아웃 구현(1) (0) | 2023.03.07 |
프로젝트 설계(9) - TDD (0) | 2023.03.05 |
프로젝트 설계(8) - 기술 소개 : JEST (0) | 2023.03.04 |
프로젝트 설계(7) - 기술 소개 : Styled Components, RTL (0) | 2023.03.03 |