Search Results for '명세'

1 POSTS

  1. 2006.12.19 컴공과 프로젝트와 테스트성(testability) 2
컴퓨터공학과 학생들은 어떤 수업을 듣던지 적으면 1-2개에서 많은 5-6개의 프로그래밍 프로젝트를 하게 됩니다. 이런 프로젝트를 하면서 아쉬웠던 점은 프로그래밍 프로젝트의 명세서가 명료하지 못하고 나중에 어떻게 평가할지(테스트할지) 전혀 고려하지 않고 있다는 것입니다. 다음은 포항공대 컴퓨터공학과 네트워크 수업에서 네 번째 프로젝트로 나온 라우팅 프로토콜(routing protocol) 구현 프로젝트입니다.



프로젝트의 목표는 네트워크 수업 시간에 배우는 대표적 라우팅 알고리즘 2가지(Link State Algorithm, Distance Vector Algorithm)를 구현하는 것입니다. 프로젝트를 읽어보면 아시겠지만 이걸 학생들이 각자 마음대로 구현했을 때 조교 입장에서 학생들의 프로그램을 조직적으로 테스트할 방법이 거의 없습니다. 직접 찾아가서 데모 형태로 보여줘야 하고, 데모를 해도 제3자의 입장에서 해당 프로토콜이 정말 제대로 동작하는지 알기가 어렵죠.

반대로 교환학생으로 메릴랜드에서 수업을 들을 때는 달랐습니다. 그들은 프로젝트를 내주기 전에 해당 프로젝트에 대한 테스트 케이스를 작성하고, 어떤 부분들을 평가할 것인지는 명료하고 정확하게 제시합니다. 학생들이 프로젝트를 제출하면 미리 작성된 테스트 케이스를 돌려보고 곧바로 점수를 매겨줍니다. 어떤 과목은 이 과정까지 자동화해서 웹으로 프로젝트를 작성해서 제출하면, 곧바로 어떤 테스트 케이스를 통과했고 실패했는지까지 일목요연하게 보여주더군요.

조금만 신경쓰면 아주 멋진 프로젝트를 내줄 수도 있을텐데 조금 아쉽네요 :(