クイズ: テストの分割
한국어 원문으로 표시합니다.
시험 실행 시간이 길어질 때 생기는 가장 근본적인 손해는?
- 되먹임이 늦어져 사람이 결과를 기다리지 않고 통합 빈도가 떨어진다
- CI 러너 사용 시간이 늘어 인프라 비용이 선형으로 증가한다
- 시험 보고서가 커져 산출물 저장소 한도를 빨리 소진한다
- 실행이 길어질수록 러너가 중간에 회수될 확률이 높아진다
파일 개수 기준 균등 분할의 한계는?
- 시험 파일이 많아질수록 분할 계산 자체가 느려진다
- 파일마다 소요가 달라 가장 느린 조각이 전체 시간을 결정한다
- 파일 이름이 바뀌면 조각 배분이 통째로 달라진다
- 조각마다 시험 수가 달라져 보고서를 합칠 수 없게 된다
시험 분할이 결정적이어야 하는 이유로 옳은 것은?
- 조각 수를 실행 중에 늘리거나 줄일 수 있어야 하기 때문이다
- 조각마다 서로 다른 러너 이미지를 쓸 수 있어야 하기 때문이다
- 같은 커밋에서 실패를 다시 재현하고 조각만 다시 돌릴 수 있어야 하기 때문이다
- 조각별 보고서를 합칠 때 순서대로 이어 붙여야 하기 때문이다
분할을 도입한 직후 전에 없던 실패가 나타났다. 가장 먼저 의심할 것은?
- 조각 수가 러너 수보다 많아 실행 순서가 뒤엉킨 것
- 시험 러너가 조각마다 다른 판을 내려받은 것
- 분할기가 시험 파일 일부를 누락한 것
- 원래 있던 순서 의존성이 순서가 흔들리면서 드러난 것
조각별 결과를 합치는 단계가 합격 수 말고 반드시 더 확인해야 하는 것은?
- 조각이 빠지지 않았는지와 총 시험 수가 기대한 값인지
- 조각별 실행 시간이 서로 10% 안으로 맞았는지
- 조각별 보고서 파일 크기가 비슷한지
- 조각들이 같은 순서로 시작되고 끝났는지
분할이 올바른지 검사하는 가장 좋은 불변식은?
- 조각을 늘릴수록 전체 실행 시간이 반드시 줄어든다
- 조각마다 배정된 시험 수가 서로 같아야 한다
- 조각 수를 바꿔도 총 시험 수와 판정이 같아야 한다
- 조각별 실패 수가 전체 실패 수의 절반을 넘지 않아야 한다