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



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

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

조금만 신경쓰면 아주 멋진 프로젝트를 내줄 수도 있을텐데 조금 아쉽네요 :(
  1. Favicon of http://snaiper.tistory.com BlogIcon snaiper

    | 2006.12.20 23:31 | PERMALINK | EDIT | REPLY |

    제가 다니는 학교에서는 웹으로 프로그래밍 숙제를 평가합니다. 조교가 미리 다 테스트 답을 다 올려서 평가하게 되어 있는데, 처음에는 나름 스트레스였지만 지금은 꽤 괜찮은 거 같습니다. 단 이런 것의 문제점은 UI 프로그래밍을 전혀 테스트할 수 없다는 것인데, 뭐 이런건 어쩔 수 없이 사람눈을 빌릴 수 밖에 없을것 같긴 합니다. 만약 UI 에 대한 단위 테스트 방법이 확실히 마련되어 있다면, 미래엔 그것도 채점 대상에 들어가지 않을까 싶네요.

  2. Favicon of https://skyul.tistory.com BlogIcon 서광열 lambda

    | 2006.12.22 05:33 신고 | PERMALINK | EDIT | REPLY |

    시스템이 잘 되어있군요 :) UI 테스트는 소프트웨어 공학 쪽에서 테스트 전공하는 분들이 가장 고심하는 리서치 과제더군요. 여러 가지 방법들을 많이 생각해내던데 정작 필드에 계신 분들은 이런 기술들에서 많이 소외되어 있는 것 같습니다. 소프트웨어 공학자들조차 테스트는 필드와 학계 간의 연계가 가장 약한 부분이라고 말하는 걸 들었습니다.

Write your message and submit
« PREV : 1 : ··· : 170 : 171 : 172 : 173 : 174 : 175 : 176 : 177 : 178 : ··· : 244 : NEXT »