판정
PASS와 FAIL 사이. 무엇을 증거로 칠지, 기계가 혼자 단정해도 되는 범위는 어디까지인지.
QA를 12년 했는데, 실제로 어려웠던 건 버그를 찾는 일이 아니었습니다. «찾은 걸 뭐라고 부를지» 정하는 일이었습니다.
먼저 — 「판정」이 왜 어려운 일인가
테스트를 하면 결과를 적어야 합니다. 보통 통과 / 실패 둘 중 하나를 씁니다.
문제는 둘 다 아닌 경우가 아주 많다는 것입니다.
| 실제 상황 | 어디에 적어야 하나 |
|---|---|
| 되긴 하는데 좀 이상함 | ? |
| 확인할 조건을 못 갖춰서 못 해 봄 | ? |
| 기획서에 없어서 맞는지 모르겠음 | ? |
| 아직 안 만든 기능임 | ? |
넷 다 통과도 실패도 아닙니다.
그리고 둘만 두면 자동화가 거짓말을 합니다
이게 이 칸의 핵심입니다.
칸이 둘뿐이면, 애매한 건 어디로든 밀려 들어갑니다. 그리고 밀려 들어가는 쪽은 거의 항상 「통과」입니다.
왜냐면 — 실패로 적으면 누군가 확인하러 옵니다. 통과로 적으면 아무도 안 옵니다. 적는 사람 입장에서 통과가 훨씬 편합니다.
그래서 시간이 지나면 이렇게 됩니다.
통과율은 높은데, 그 통과 중 상당수가 「확인 못 한 것」입니다. 그리고 표에서는 구분이 안 됩니다.
그래서 이 칸의 글들은 「칸을 늘리는 이야기」입니다
여기 모인 글 다섯 편은 전부 무엇을 증거로 칠지, 기계가 혼자 단정해도 되는 범위가 어디까지인지에 대한 것입니다.
| 글 | 무엇이 문제인가 |
|---|---|
| 임계값을 만지지 않았다 | 초록색으로 만들 수 있는데 안 만든 경우 |
| 안 되는 게 결함인가, 아직 없는 건가 | 결함과 미구현을 가르는 근거를 어디서 얻나 |
| 「아마 맞다」는 판정이 아니다 | 증거에 등급을 안 매기면 무슨 일이 생기나 |
| 고아 53개는 오보였다 | 검사기가 낸 경보를 그대로 믿고 고치면 무슨 일이 |
| 새로 깐 것이 범인처럼 보였다 | 시간 순서를 재기 전에 용의자를 범인으로 적으면 |
이 칸의 규칙
결과를 바꿔서 통과시키는 방법을 알고 있으면, 그걸 «안 썼다»는 사실까지 같이 적습니다.
안 그러면 그 글은 자랑이 됩니다. 「저는 정직하게 했습니다」로 끝나는 글은 다음 판정에 아무 도움이 안 됩니다.
무엇을 할 수 있었는지가 적혀 있어야, 읽는 사람이 자기 상황에서 같은 유혹을 알아봅니다.
아직 안 쓴 것
- 판정 종류를 몇 개로 쪼갤 것인가 — 많으면 아무도 안 고르고, 적으면 위의 문제가 납니다
- 실패 사유로 적은 문장이 다음 사람의 행동을 어떻게 바꾸는가
여기부터는 자세한 기록입니다
QA 12년 중 실제로 어려웠던 건 버그를 찾는 일이 아니었다. 찾은 걸 뭐라고 부를지 정하는 일이었다.
PASS와 FAIL만 두면 자동화는 거짓말을 한다. 확신이 없는 케이스가 갈 곳이 없어서 둘 중 하나로 밀려 들어가고, 밀려 들어가는 쪽은 대개 PASS다.
쓴 글
| 글 | 무엇이 문제인가 |
|---|---|
| 임계값을 만지지 않았다 | 초록색으로 만들 수 있는데 안 만드는 경우 |
| 안 되는 게 결함인가, 아직 없는 건가 | 결함과 미구현을 가르는 근거를 어디서 얻나 |
| 「아마 맞다」는 판정이 아니다 | 무엇을 증거로 인정할지 등급을 안 매기면 무슨 일이 생기나 |
| 고아 53개는 오보였다 | 게이트가 낸 경보를 그대로 믿고 고치면 무슨 일이 생기나 |
| 새로 깐 것이 범인처럼 보였다 | 시간 순서를 재기 전에 용의자를 범인으로 적으면 무슨 일이 생기나 |
아직 안 쓴 것
- 판정 종류를 몇 개로 쪼갤 것인가
- 실패 사유 문자열이 다음 사람의 행동을 어떻게 바꾸는가
이 분류의 규칙
결과를 바꿔 통과시키는 방법을 알고 있으면, 그걸 안 썼다는 사실까지 같이 쓴다. 안 그러면 그 글은 자랑이 되고, 자랑은 다음 판정에 도움이 안 된다.