[기고]SW테스팅, 개발 일부가 아닌 전부다

[기고]SW테스팅, 개발 일부가 아닌 전부다

여기저기 4차 산업혁명이 언급되면서 빅데이터, 인공지능(AI), 자율주행, 핀테크, 사물인터넷(IoT), 클라우드전환 같은 근사한 단어들이 난무한다. 변화하는 세상을 따라잡고, 리딩하는 것은 기업이나 개인 몫이다. 앞으로 세상 모든 움직임의 중심이 될 소프트웨어(SW)도 기본이 중요하다. 정확한 결과를 내지 못하는 기능이 있거나 사용자 안전과 시스템 보안을 보장하지 못하는 SW가 과연 기대하는 효용을 발휘할 수 있을까? 그렇지 않을 것이다. 지난 2018~2019년 보잉 737맥스 기종의 잇단 추락으로 수백명이 목숨을 잃었고 솔라윈즈 사태로 미국 주요 부처가 해킹 당하는 일이 벌어졌다. 우리 금융감독원은 2021년 국내 금융권 서비스 지연이나 장애가 350건에 달했다고 발표했다. 이 모두 SW 결함이나 취약점으로 일어난 사고였으며 대부분 제대로 수행된 테스트와 제3자 검증이 있었다면 상당부분 막을 수 있는 결함이었다.

모든 일상에서 SW 비중이 늘고, 이제는 SW에 판단까지 맡기는 시대에 살고 있다. 요즘처럼 하루가 멀다하고 쏟아지는 새 서비스, 신기술 속 완벽한 SW 개발을 원한다면 적절한 인력부터 검증방법론, 자동화도구, 그리고 프로세스 수립까지 테스트에 대한 종합적이고 체계적 관리가 필요하다.

개별 단위 SW 품질도 중요하지만 지금처럼 복잡다단해진 SW 공급망에서 최상위 SW 품질을 보장 받기 위해선 수요자와 공급자 모두가 노력을 기울여야 한다. 공급망 전 과정에서 누구나 사용하고 있는 오픈소스 검증도 필수 요건이다. 조사기관과 분야에 따라 일부 상이하지만 SW개발 시 오픈소스를 사용하는 소스코드나 바이너리는 60~70%에 달한다. 각자 속한 산업, 기업·기관 특성에 따라 더욱더 정교한 테스트 계획과 투자가 필요하단 뜻이다.

SW테스팅 중요성을 인식한 정부 부처나 산하기관에서 SW 안전과 보안을 위한 법령 제정과 다양한 지원 사업을 시행하고 있지만, 근본적 해법에선 현장과 온도차가 여전하다. 무엇보다 전문인력 양성이 시급하다. 자체 테스트인력이 필요한 수요기업은 물론이고 테스트 아웃소싱을 하는 테스팅 전문기업조차 인력 대란을 겪고 있다. 산·학·관 협력을 통해 단기적 실행 계획을 수립하는 자리가 마련 되길 바란다. 그러나 SW 비중이 늘어나는 것에 비례해 인력을 무한정 늘릴 수 없으며 어느 시점에는 비효율적으로 바뀔 것이다. 새로운 환경에 활용할 수 있는 자동화 도구 연구와 개발이 필요한 대목이다.

또 SW인증제도 정착을 통해 품질에 대한 객관적 관리-감독을 하고 개발산출물이나 SW 제품을 거래하는 수요자와 공급자 간 혼선을 예방해야 한다. 테스트 자동화도구 발전과 SW 인증과 시험성적서 제도 정착은 장기적으로 SW산업 국제 경쟁력을 키울 수 있는 중요한 수단이기도 하다. 마지막으로 가장 중요한 사회적 인식 전환이다. 테스트는 SW개발의 마지막 단계에 형식적으로 해도 된다는 생각이나 개발자수에 비해 턱없이 적은 소수의 QA인력이면 충분하다는 인식에서 벗어나야 한다. SW테스트는 설계단계에서부터 고민해야 하며 분야별 또는 개발 단계별 전문인력이 반드시 필요하다.

사고가 터진 다음에야 각성한다면 때는 이미 늦었다.

장일수 한국SW테스팅협회장(스패로우 대표) ischang@sparrowfasoo.com