LabHub

낯선 시스템 앞에서 · 가설과 검증 · 실습

증상을 숫자로 고정하기

LabHub 에서 이어서 보기

목표

"가끔 안 돼요" 라는 신고를 20분 안에 측정값과 반증 가능한 가설로 바꿀 수 있게 됩니다.

왜 중요한가

고객은 버그 리포트를 주지 않습니다. 고통 리포트를 줍니다. 그것을 측정 가능한 문제로 바꾸는 것은 전적으로 이쪽의 일이고, 그 첫 도구가 재현 명령입니다. 실패율을 숫자로 고정하는 순간 두 가지가 생깁니다. 첫째, 고객과 같은 사실을 보게 됩니다. 둘째, 나중에 "고쳤다" 고 말할 잣대가 생깁니다. 잣대 없이 고친 것은 고쳤는지 알 수 없습니다.

그다음이 가설인데, 여기에 규칙이 하나 있습니다. 틀렸을 때 무엇이 보일지가 정해져 있지 않으면 가설이 아닙니다. "네트워크 문제 같다" 는 무슨 결과가 나와도 살아남기 때문에 후보를 줄여 주지 못합니다. 죽을 수 있는 문장만이 조사 범위를 좁힙니다. 그리고 배제한 것을 적어 두지 않으면, 30분 뒤에 자기가 이미 지운 후보를 다시 확인하고 있게 됩니다.

단계

1. /root/hypothesis 디렉터리를 만드세요.
2. /opt/app/flaky.py 를 실행해 127.0.0.1:8001 에서 응답하게 만드세요.
3. /quote연속 20회 호출해 200 이 아닌 응답의 개수를 /root/hypothesis/baseline.txt 에 적으세요.
4. 그 실패율을 퍼센트 정수로 /root/hypothesis/rate.txt 에 적으세요. 기호 없이 숫자만.
5. 실패한 응답의 본문 문자열/root/hypothesis/reason.txt 에 저장하세요.
6. /root/hypothesis/h1.md가설:, 맞다면:, 틀리면: 세 줄이 들어간 가설을 쓰세요.
7. /root/hypothesis/ruled_out.txt 에 배제한 계층을 적으세요. 각 줄은 network, auth, app, data 중 하나로 시작하고 근거를 덧붙입니다. 최소 두 줄.
8. /quote연속 40회 호출해 실패 횟수를 /root/hypothesis/confirm.txt 에 적으세요.

참고

단계 8개

  1. 가설 작업 디렉터리 만들기
  2. 견적 API 띄우기
  3. 20회 호출해 실패 횟수 세기
  4. 실패율을 퍼센트로 적기
  5. 실패 응답의 본문 확보하기
  6. 반증 가능한 가설 쓰기
  7. 배제한 계층 기록하기
  8. 같은 잣대로 재측정하기