개발 이런저런 야그들

테스트 사양서

손병환 2006. 1. 4. 18:15
테스트를 하는데 웬 사양서란 말인가?

첨에 개발만(?) 사람들은 도저히 이 부분에 대해서
이해를 하지 못한다. 나 또한 이 부분에 상당한 시간의
소요와 늘어지는 개발 기간에 대해서 납득을 할 수 없었다.

프로그램 사양서를 만드는 것은 무척 중요하다.
그리고 그러한 사양서를 만듬으로 인해 많은 생각지도
못한 버그들이 하나씩 나오게 된다.
하지만 이러한 것들이 형식적인 부분이 되어 버린다면
테스트 사양서에 대한 부분은 시간낭비일 뿐이다.

하지만 중요한 것은 테스트 사양서도 중요하지만
개발 사양서의 부족한 부분으로 개발이 제대로 이루어지지
않은 상태에서 열심히 테스트 사양서를 만든다면
다시 변경된 사양에 대해서 테스트를 다시하고
다시 테스트 사양서를 작성해야 한다.
이는 마치 테스트 사양서를 위한 개발이 되어버린 듯한
착각을 가지게 한다.

따라서 테스트 사양서를 만들 때는 아래와 같은 전제조건이
필요하다.

1. 개발자와 테스터들이 분리되어 있어야 한다.
2. 개발자와 테스터들은 사양에 대해서 100% 이해를 해야한다.
3. 개발에 들어가기 이전에 위험분석을 통해서 사양서에
완벽성을 추구한다.
4. 가능한한 텍스트 베이스로 간편화하여 개발기간에
영향을 미쳐서는 안되며, 개발자가 귀찮아 할 정도로
잔잔한 작업들이 들어가서는 안된다. 가령 화면 캡쳐(?).
※ 사실 이건 정말 미친 짓이다. 화면 캡쳐의 경우는
테스트 전담 부서가 있을 경우와 개인 프로젝트의 경우
가능하지만, 테스트 전담 부서가 없이 팀프로젝트를 할 경우에는
절대적으로 하면 안되는 사항이다. 오히려 테스트를 위한 개발이
되어서, 개발에 집중할 부분이 많이 누락되어 버리고 만다.
5. 개발자가 가져야 테스트 사양서를 작성할 경우 충분한 연습과
테스트가 가능하도록 문서에 대한 양식을 적절하게 설정할
필요가 있다.

참고로,
테스트 사양서 또한 버젼별로 관리가 필요하며
이전에 테스트를 위해 작성된 문서는 삭제되어서는 안되며
수정되어지고 변경되어진 그리고 에러가 발생한 패턴에 대한
분석을 위해서 문서를 보관하는 것이 반드시 필요하다.