← 질문 목록
#395깊이 0

깨지기 쉬운 시험은 왜 생기는가?

프레임워크심화

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

코드가 아니라 코드 바깥의 것에 매여 있어서다. 실행할 때마다 달라지는 것을 시험이 붙들고 있으면 같은 코드에서도 결과가 갈린다.

  1. 시험 A
  2. 그다음은 남는 상태입니다. 값을 바꾸고 되돌리지 않는다

    남는 상태
  3. 그다음은 시험 B입니다. 남은 값이 그대로 읽힌다. 혼자 돌리면 통과하고 같이 돌리면 깨진다

    시험 B

흔한 뿌리가 넷이다. 실행 순서에 매인 것, 시각과 시간대에 매인 것, 무작위 값, 그리고 기다릴 시간을 초로 못 박아 둔 것이다.

기다리는 시간이 특히 잘 속인다. 내 노트북에서 2초면 끝나는 일이 빌드 서버에서는 안 끝난다. 시간이 아니라 조건이 찼는지를 기다려야 한다.

고치는 순서를 잘못 잡기도 쉽다. 재시도를 붙이는 것이 가장 빠른데 그러면 신호가 사라진다. 가끔 깨지는 시험이 진짜 버그를 가리키고 있을 때가 있다.

주의

가끔 깨지는 시험을 오래 두면 팀이 빨간불을 안 믿게 된다. 그 순간부터는 진짜 회귀도 같이 무시된다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

깨지기 쉬운 시험은 왜 생기는가?