사내 표준 산출물 가이드를 받았는데 목차를 세어 보니 스물일곱 종이었다. 순서를 훑어보다가 시험 관련 문서가 코드보다 앞 번호에 있는 것이 눈에 들어왔다.
Table of contents
Open Table of contents
스물일곱 종의 순서
시험 시나리오가 아홉 번째부터 열넷째 사이에 있고 SVN에 올라갈 프로그램 코드가 열여섯 번째였다. 만들기 전에 시험 문서를 쓴다는 뜻이 된다.
처음에는 순서가 잘못된 것으로 보였다. 없는 것을 어떻게 시험하느냐는 생각이 먼저 들었기 때문이다. 그런데 목록을 더 보니 그 순서가 가능하게 만드는 구조가 있었다.
시험 관련 문서가 하나가 아니라 시험 시나리오와 시험 결과서로 나뉘어 있었다. 시험 시나리오는 무엇을 어떻게 확인할지를 적는 것이고 시험 결과서는 실제로 해 본 결과를 적는 것이다.
앞의 것은 코드가 없어도 쓸 수 있다. 설계가 있으면 무엇을 확인해야 하는지가 나오기 때문이다. 뒤의 것만 코드가 있어야 쓸 수 있고 그것은 실제로 뒤 번호에 있었다.
설계를 보고 쓰면 누락이 걸린다
이 순서가 만드는 차이가 무엇인지를 생각해 봤다. 코드를 보고 시험을 쓰면 만들어진 것을 확인하는 항목만 생긴다.
설계에 있는데 코드에 없는 기능은 시험 항목에도 안 생기니까 아무도 그것을 못 찾는다. 설계를 보고 먼저 쓰면 그 항목이 시험에 남아 있고 돌려 봤을 때 걸린다. 순서 하나가 누락을 잡느냐 못 잡느냐를 가르고 있었다.
요구사항 추적표의 자리
같은 이유로 요구사항 추적표가 셋째 자리에 있는 것도 이해가 됐다. 영문으로는 RTM이라고 부르는 것으로 어떤 요구가 어느 설계와 어느 코드로 이어지는지를 적는 표다.
RTM을 나중에 만들면 이미 만들어진 것에서 거슬러 올라가며 채우게 된다. 그러면 만들어진 것은 다 채워지고 안 만들어진 요구는 표에서 조용히 빠진다. 앞에서 만들어 두면 빈칸이 그대로 남아서 무엇이 아직 없는지가 보인다.
뒤 단계가 앞 단계를 받는다
시험이 네 단계로 나뉘어 있는 것도 봤는데 단위시험과 통합시험과 시스템시험과 인수시험 순으로 뒤로 갈수록 보는 범위가 커진다. 가장 작은 단위부터 시작해서 합쳐진 것을 보고 전체를 보는 순서다.
범위가 다르면 잡히는 문제도 다르다. 작은 단위에서 잘 도는 것들이 합쳐졌을 때 안 맞는 경우가 있기 때문이다. 그리고 단위시험만 시험 케이스라고 부르고 나머지는 시험 시나리오라고 부르는데 순서가 있느냐 없느냐의 차이로 보였다.
정리
- 표준 산출물이 스물일곱 종이고 순서가 정해져 있다
- 시험 시나리오가 프로그램 코드보다 앞 번호에 있다
- 시험 시나리오와 시험 결과서가 나뉘어 있어서 그 순서가 가능하다
- 코드를 보고 시험을 쓰면 만든 것만 확인한다
- 설계를 보고 쓰면 설계에 있고 코드에 없는 것이 걸린다
RTM을 뒤에 만들면 안 만든 요구가 조용히 빠진다- 단위시험·통합시험·시스템시험·인수시험 순으로 보는 범위가 커진다
- 작은 단위에서 잘 돌던 것이 합쳐지면 안 맞을 수 있다