모 은행의 창구업무가 전산장애로 중단돼 5시간 만에 수천만 원의 보상금을 물어야 했다. 원인은 단순 프로그램 오작동이었다.
1,200억원을 들인 서울시의 초대형 대중교통체계 개편 프로젝트가 초기 단말기 등 시스템 오류로 교통대란을 일으키고 수백억대 손실을 야기한 것은 품질보증(QA)를 제대로 수행하지 않은 IT프로젝트가 일으킬 수 있는 최악의 부실을 보여준 사례로 꼽힌다.
이전까지 전통적 소프트웨어 영역에서는 오류가 발생하면 후에 패치를 배포해 복구하는 것이 가능했고 사용자들도 심각하지 않은 오류는 이해해주는 분위기였다. 하지만 거의 모든 전자기기에 소프트웨어가 내장되고 소비자들의 소프트웨어 품질에 대한 기대치도 높아지면서 이는 새로운 이슈로 부각되고 있다.
한 예로 남은 연료로 가능한 한 정확한 주행거리를 비롯해 주행과 관련된 온갖 정보를 운전자에게 전달해주는 자동차의 트립컴퓨터는 수많은 소프트웨어로 연결돼 있다. 이 중 한 부분이라도 오류가 발생하면 사고로 이어질 수 있고 리콜 사태가 벌어질 수도 있다. 인명피해뿐만 아니라 기업 입장에서는 심각한 타격을 입게 된다.
이런 이유로 미국에서는 이미 오래 전부터 철저한 품질 테스트를 거치는 것이 필수적이라는 공감대가 형성돼 있다. 개발 프로세스 중에 테스팅 단계가 포함돼 있고 이를 거쳐야만 최종 품질이 검증되는 시스템으로 움직이기 때문에 테스팅 시장 자체도 크다.
그래서 미국의 경우 QE(Quality Engineer) 등 전문인력이 많고 이들을 관리하는 사이트가 따로 형성돼 있을 정도다. 이와는 대조적으로 우리는 일단 프로그램이 큰 문제 없이 작동되면 출시 후 결함을 처리하겠다는 인식이 팽배해 있던 것이 사실이다. 이로 인해 피해를 입는 경우도 많았다.
다행스러운 것은 국내에서도 소프트웨어 테스팅에 대한 인식이 높아지고 있다는 것이다. 가전ㆍ자동차ㆍ항공기 제조업체에서부터 포털ㆍ금융ㆍ정부까지 내부 테스팅 조직을 구성하거나 외부 컨설팅을 받는 사례가 늘고 있다. 하지만 MP3플레이어ㆍ디지털TV 등과 같은 임베디드 관련 제품의 부상으로 전문 테스트 엔지니어의 수요가 느는 데 반해 고급 인력을 구하기 어려워 애를 태우고 있는 것 또한 우리의 현실이다.
한 통계에 따르면 GS(Good Software)인증을 받은 국내 기업들은 한 업체당 평균 3.4명의 테스터를 보유하고 있다고 한다. MS가 개발자 1명당 테스트 엔지니어 1~2명이 조를 이뤄 개발한다는 사실에 비춰본다면 상당히 부족한 수치임에 틀림없다.
때문에 이제 우리나라도 본격적으로 테스터들을 양성할 때가 됐다. 또 테스팅과 관련된 각종 회의와 전문강좌 등이 개최돼 테스팅의 중요성에 대한 인식을 확산할 필요가 있다. 이를 위해 기본적으로 테스트 아카데미가 많이 설립돼야 한다. 초급 테스트 양성과정, 실무자 과정, 매니저 과정 등 체계적인 교육과정도 필요하다.
테스트 엔지니어와 관련된 비영리 커뮤니티가 활동하고 있다는 점도 눈여겨볼 만한 부분이다. 여기에 정부가 2010년까지 고급 소프트웨어 품질관리 인력을 1,000명 정도로 늘리기로 하고 올해부터 관련 강좌 개설과 세미나를 확대 지원하기로 했다는 점은 반가운 소식이다.
품질이 좋다는 것은 이제 칭찬이 아닌 필수전제가 됐다. 공신력을 확보한 소프트웨어 품질은 국제시장에서 경쟁력을 확보하기 위한 핵심요소이며 그 품질을 보증해줄 수 있는 것이 바로 테스트 전문인력이다. 이를 위한 투자를 아끼지 말아야 할 때다.