콘텐츠를 옮기는 배치가 특정 대상만 건드렸는지를 확인해야 했다. 로그를 대상 코드로 걸러 봤더니 0건이 나와서 그 대상은 안 건드렸다고 적었다.
Table of contents
Open Table of contents
0건으로 내린 결론
같은 방식으로 스무 개가 넘는 대상을 하나씩 확인했고 전부 0건이었다. 전부 0건이라는 것 자체가 이상해서 그때 한 번 더 보게 됐다.
배치가 무언가는 처리했을 텐데 어느 대상에서도 안 걸린다면 검색이 대상을 못 잡고 있는 것일 수 있다. 결론을 내리기 전에 그 가능성을 확인해야 했다.
0건이 뜻하는 두 가지
0건은 해당하는 것이 없다는 뜻일 수도 있고 이 검색이 아무것도 측정하지 못했다는 뜻일 수도 있다. 두 경우가 출력으로는 똑같이 0으로 보인다.
로그를 열어서 실제로 무엇이 남는지를 보니 대상 코드가 아예 안 찍히고 있었다. 처리 건수만 남고 무엇을 처리했는지는 안 남는 형태였다.
대조군이 없으면 판정력도 없다
이것을 확인하는 방법은 반드시 걸려야 하는 입력으로 같은 검사를 한 번 더 돌려 보는 것이다. 걸려야 하는 것도 0건이면 그 검사는 아무것도 가르지 못한다.
실제로 그렇게 해 보니 역시 0건이 나왔다. 어떤 입력을 넣어도 같은 결과가 나오면 그것은 검사가 아니라 그냥 0을 출력하는 명령이었다.
근거를 바꾸기
로그로는 대상별 판정을 할 수 없으므로 다른 근거를 찾아야 했다. 배치 코드에서 대상을 고르는 조건을 읽고 그 조건에 이 대상이 들어가는지를 보는 방식으로 옮겼다.
이 근거는 코드가 바뀌면 다시 봐야 한다는 약점이 있지만 적어도 무엇을 재는지가 분명하다. 근거를 바꾸면서 앞서 적어 둔 판정들을 전부 취소하고 다시 했다.
무엇으로 판정했는지 함께 쓰기
보고할 때 결론만 적지 않고 무엇으로 판정했는지를 함께 적었다. 로그로 판정한 것과 코드 조건으로 판정한 것은 무너지는 지점이 다르다.
근거를 적어 두면 나중에 그 근거가 흔들렸을 때 어느 판정을 다시 봐야 하는지가 나온다. 결론만 있으면 전부를 다시 봐야 한다.
정리
- 검색 결과 0건은 해당 없음과 측정 실패 두 가지를 뜻한다
- 두 경우가 출력으로는 구분되지 않는다
- 전부 0건이면 그 자체를 의심한다
- 반드시 걸려야 하는 입력으로 같은 검사를 한 번 더 돌린다
- 어떤 입력에도 같은 결과가 나오면 판정력이 없다
- 대상을 안 남기는 로그로는 대상별 판정을 못 한다
- 코드 조건 같은 다른 근거로 옮긴다
- 보고에 무엇으로 판정했는지를 함께 쓴다