소프트웨어 개발시 테스트의 중요성

반응형
제가 얼마전 임창용 선수의 연봉 기사를 보고 개발자 중에 억대 연봉자가 있을까 하는 궁금증에서 시작되서 글까지 쓴적이 있습니다.

다른 직업도 마찬가지겠지만 제 직업이 개발자다 보니 개발자 중에 억대 연봉자가 있을까 하는 궁금증이 생기더군요
.


하지만 결론은 순수 개발자 중에는 없지 않을까 하는 생각이 들더군요. 그 이유중에 하나가 IT 강국이라 자랑하는 대한민국에서 세계적인 소프트웨어 회사가 없다는 것도 한몫 하지 않나 생각을 했습니다. 그런데 얼마전 부산에서 "SW 품질인증 설명회" 라는 세미나에 다녀 왔었는데 그 내용중에 제가 생각한 부분을 정확하게 통계 자료로 보여 주더군요.


그래프로 보시는 바와 같이 통계 자료에 보면 국가별 100대 SW 기업이 한국에는 하나도 없습니다. IT 서버시 분야만 대기업 3곳이 포함되어 있는 것이 다입니다. 통계 자료로 확실한 내용을 보니 더욱 서글퍼 지더군요. 그래도 혹시나 하는 마음은 있었는데... ㅜ.ㅜ

어찌됐든 왜 그럼 우리나라는 세계 SW 100 대 기업에 들어간 기업이 없을까 한번 생각해 봤습니다. 우리나라 개발자들이 기술력이 부족해서... 일을 열심히 안해서...  그건 아니라고 봅니다. 우리나라 소프트웨어 산업에 뿌리 깊이 박혀 있는 잘못된 프로세스 때문이라고 생각합니다. 늘 일정만 중요시 하고 제품이 제대로 만들어 졌는지 확인도 하지 않고 출시하는 잘못된 기업 이념 때문에 그렇지 않나 생각해 봅니다. 

외국 같은 경우 소프트웨어 제품이 나왔을때 크리티컬한 버그가 발생되었을 경우 만든 업체에서 빠르게 대응해 주면 바로 아웃 이라고 하더군요. 그런데 얼핏 들으면 잘 이해가 가지 않죠. 버그가 생겨서 빠르게 대응해 주었는데 바로 아웃이라니... 이게 생각이 차이라고 하더군요.

외국의 경우 소프트웨어가 완성 되었다 하면 수많은 테스트를 거쳐 크리티컬한 버그가 아예 나오면 안된다고 하더군요. 그런 이유로 외국에서는 심각한 버그가 나오면 그 업체는 바로 아웃이 된다고 합니다. 우리나라랑은 정 반대죠. 어떻게 하든 일정에 맞게 제품을 만들어 놓고 출시한 다음 버그를 잡는데 말이죠. ㅋㅋㅋ


그럼 이렇게 확실한 소프트웨어를 만들기 위해서 필요한 부분중에 제가 가장 중요하다고 생각하는게 바로 테스트 입니다. 제품이 나오면 사용자 입장에서 전문적인 테스트를 해봐야 할거 같은데 우리의 현실은 일정 때문에 언제나 테스트 기간을 짧게 잡거나 아예 없애 버리죠. 단순히 개발자가 테스트 한걸로 테스트 완료라고 하고 제품을 판매 하는 경우가 많습니다. 

하지만 개발자가 테스트를 하면 버그를 못잡습니다. 하루종일 그 프로그램만 보고 개발했는데 버그가 눈에 들어 오지 않고 또한 개발자가 자기가 개발 한것이기에 자기가 해본 루트 대로만 테스트를 하기 때문에 예외 상황에 일어나는 버그를 잘 발견 하지 못합니다.

이런걸 방지 하기 위해서 일정을 잡을때도 테스트 기간을 충분히 잡아서 최대한 버그가 일어나지 않게 테스트를 해볼수 있는 여건이 조성 되었으면 좋겠고 또하나 각 업체 마다 전문 테스터가 있었으면 하는 바램입니다. 하지만 전문 테스터가 각 업체마다 보유 하고 있다는게 아직 우리 현실에선 큰 부담이 되죠. 제가 막상 오너라 해도 테스터의 중요성은 알겠지만 그 활용도가 그렇게 크지 않을거란 생각이 들더군요. 

더군다나 영세한 중소기업의 경우 테스터를 보유하고 있다는게 참 많은 부담이 될수 있다는 생각이 듭니다. 하지만 개발의 마지막은 언제나 전문 테스터의 손에서 정확하게 테스트를 통과한 제품이 사용자의 손에 들어 갔으면 하는 바램입니다. 그러다 보면 외국에서도 우리의 소프트웨어를 많이 찾을 것이고 그러면 세계 100대 SW 기업에도 우리의 기업이 들어가지 않을까 하는 생각을 해봅니다.