SW테스트(이하 테스트)가 주 목표인 과목을 들은 적은 없지만, 프로젝트에서 디버깅을 하면서 테스트 과정을 체감한 적은 있습니다. 3학년 때 [컴퓨터소프트웨어설계], 4학년 때 [CAPSTONE DESIGN I/II]를 수강했는데, 이 셋의 공통점은 제작한 SW를 하나 정해놓고 학기말까지 결과물을 내놓아야 한다는 것입니다.
그 중에서 제가 흥미를 갖고 수행한 프로젝트라면 4학년 말에 했던 어드벤쳐 게임 제작인데, 자바를 이용하여 윈도우즈 환경에서 제작하였습니다. 내용은 목적지까지 적이나 함정등을 피해 이동해야하는 것인데, 직접 프로그래밍에 관여하였기 때문에 작동 결과 및 버그에 꽤나 신경쓰지 않을 수 없었습니다.
프로젝트를 시작할 때 무엇을 만들어야 할지 정하고, 그 다음에는 세부적인 과정 및 각 과정에 대한 대략적인 시간을 정한 다음 동작원리(알고리즘)를 그려가면서 뼈대를 만들어나가기 시작하였습니다. 알고리즘이 완성되었으면 거기에 맞게 자바로 코딩을 하였고, 중간중간마다 실행을 하여 잘못된 부분이 있으면 디버깅을 하여 고친다음 최종 결과물을 만들었습니다. 그 다음은 최종 테스트를 하여 잘못된 부분이 있으면 찾아서 수정했습니다.
아무래도 디버깅 과정 자체가 시간과 인내를 요하는 작업이다 보니 애먹을 때도 있었고, 설령 찾아도 어떻게 고쳐야 할지 생각에 잠길 때도 있었습니다. 그럴때 팀원들에게 도움을 받아 문제를 해결할 때도 있었지만, 대부분은 인터넷이나 책자 등을 참고하면서 진행해 나갔습니다. 결과적으로 대부분 프로젝트에서 학점 A를 얻은 것에는 만족하지만 일련의 과정들을 거치면서 디버깅, 나아가 테스트 과정이 얼마나 중요한지 새삼 느끼게 되었습니다. 이 과목의 영향으로 해당 직군에 지원하고자 마음을 먹게 되었습니다.