[2팀 정도은] Chapter 3-2. 프런트엔드 테스트 코드 🧦#11
Open
nemobim wants to merge 60 commits intohanghae-plus:mainfrom
Open
Conversation
- 반복일정을 수정하면 단일 일정으로 변경됩니다. - 반복일정 아이콘도 사라집니다.
- eventlist api를 써야되눈쥴 알고..어거지로 붙였던거 단일 api로 수정
|
도은님! 지호님께 e2e ci관련해서 구성에 어려움이 있으셨다고 전해들어서..! 제꺼 참고차 올려둡니다..! 늦지 않았길 🥹 |
|
와 글도 정말 잘썼다!! 이번 과제에서는 깃모지가 빛을 바라는 주차네요?! |
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
8주차 과제 체크포인트
기본 과제
필수
선택
심화 과제
각 팀원들의 테스트 전략은?
피그마 주소
페어팀끼리 각자 해당 테스트 종류별로 어떤 상황에 쓰는지 얘기해보고 이번 프로젝트에는 어떤 테스트 전략이 필요한지 얘기 나눴습니다.
여기서도 "간단한 일정 추가 프로젝트에 E2E는 과하다" 는 의견과 "일정 추가는 사용자가 직접 체험하는 핵심 기능이라 실제 브라우저에서의 동작이 중요하니 E2E해봐도 좋다"는 의견이 나왔습니다. 시각적 회귀 테스트는 논외였습니다.(너무 과함)
전체적인 의견을 정리해보면 피라미드 전략이 될거같습니다.. 유닛 많이 통합 적당히 E2E 조금
결론
합의된 테스트 전략과 그 이유는 무엇인가요?
이번 프로젝트에서는 통합 테스트와 E2E(End-to-End) 테스트를 병행하는 전략을 선택했습니다.
태영님, 소연님과 함께 통합 테스트 시나리오 3개 중 1개, E2E 테스트 시나리오 3개 중 1개를 각각 선택해 구현하는 방식으로 진행했습니다.
통합 테스트 보완
기존에 작성된 통합 테스트는 주로 개별 기능 단위의 검증에 초점이 맞춰져 있었습니다.
실제 사용 흐름에서 필요한 조합이나 예외 상황을 다룰 수 있도록 보충 시나리오를 직접 작성해 테스트를 추가했습니다.
E2E 테스트의 필요성
단위 또는 통합 테스트만으로는 전체 사용자 흐름이나 상태 변화, 뷰 간 전환 등의 맥락을 충분히 검증하기 어렵다고 생각합니다. 특히 이번 프로젝트는 사용자의 연속적인 행동과 일정한 흐름에 따라 작동하는 캘린더 앱이기 때문에, 실제 사용자 경험을 기준으로 한 검증이 필수적이라 생각해 E2E 테스트를 추가했습니다.
결론
추가로 작성된 테스트 코드는 어떤 것들이 있나요?
!!심화에서 추가된 테스트 코드는 3명 전부 동일하게 작성했습니다.
통합테스트
E2E
비록 ci에 추가는 못했지만...E2E 통과 인증합니다. (1시간 30분 동안 셋이서 시도했으나 실패했습니다)
ci 관련 yaml 파일을 아무리 바꿔도 기존 테스트에 E2E 추가가 안됐습니다...ㅜㅜ
과제 셀프회고
이번 과제 할만하다고 생각했는데,, 타임아웃이라는 복병이 터져서 코드를 잘못 짠줄 알고 회귀를 많이했습니다..
테스트 통과하던 그때로 돌아가자~
그리고 요구사항 제대로 안 읽었다가 잘못된 기능을 만들어서 다시했습니다.. 난 바보야지난 주차에 이어 e2e 까지 맛 보면서 이런 생각이 들었습니다.

상황에 맞게 적절하게....TDD는 꽤나 괜찮았다....(근데 시간대비 효율성이 좀..)
기술적 성장
이번에 사용한 커서 룰 : TDD 가이드 지침
TDD 사이클: Red-Green-Refactor
🔴 Red: 실패하는 테스트 작성
🟢 Green: 테스트를 통과하는 최소한의 코드 작성
🔵 Refactor: 코드 개선 (테스트는 여전히 통과)
기능 만들기에 꽤나 오래 걸리지만 나중에 버그 없이 잘 쓸 수 있었어서 오래 걸린 만큼 안전하다를 체감했습니다.
언제 TDD를 쓰는게 좋을까?
테스트 코드 짜고 고치고 짜고 고치고 반복하는데 시간이 꽤 걸리기에 다음과 같은 상황에서만 해볼까 합니다.
테스트 피라미드(Test Pyramid)
테스트를 유닛 → 통합 → E2E 순서로 쌓아 올린 피라미드 형태로 표현
🔺 구성
아래로 갈수록 실행이 빠르고 비용이 적음. 위로 갈수록 실행이 느리고 비용이 큼
따라서 하단(유닛)에 집중하면서, 꼭 필요한 부분만 상단(E2E)으로 올리는 전략이 좋음!
코드 품질
... 이정도 시나리오면 충분하지 않을까 ㅎㅎ

각자 작성했지만 각자의 레포에서 테코가 성공적으로 돌아갈때 짜릿했던거 같아요
학습 효과 분석
테스트 코드는 있으면 좋다. 그런데 내가 다 짜려면 너무 오래 걸린다..
나눠서 짜거나 남이 짜주는걸 내가 쓰는게 제일 편하고 좋다...
과제 피드백
E2E 재밌었습니다... 확장프로그램을 알게 되어서 생각보다 편하게 작성을 했는데 이걸 몰랐다면 끔찍했을거 같습니다..
이미 지난 주차에서 충분히 테스트를 작성했다고 생각되어 반복 일정 테스트 말고 더 추가할게 있을까? 라는 생각도 있었습니다.
리뷰 받고 싶은 내용