소프트웨어(SW)가 세상에 녹아들고 있다. 정보기술(IT)의 한 분야가 아니라 세상 모든 사물이 SW로 구현된다. 그만큼 SW 중요성이 커진다는 의미다. SW 업계 종사자라면 자신이 만든 소스코드와 프로그램이 잘 운용되길 바란다. SW 구동이 문제없이 이뤄져야 IT 인프라를 운영할 수 있고 제품이 작동한다.
안타깝게도 SW가 포함된 프로젝트나 제품이 실패했을 때 주목받는 분야가 있다. 바로 SW 테스팅이다. 제품 품질과 성능을 보장하기 위해 SW가 제대로 작동하는지, 잘못 설계하지는 않았는지 사전에 파악해야 한다. SW가 중요성이 부각되면 될수록 SW 테스팅 필요성도 함께 커진다. 전자신문은 창간 33주년을 맞아 SW 테스팅의 대가 스튜어트 리드 박사와 함께 SW 테스팅을 집중 조명했다. SW 중심사회를 구현하려는 우리나라가 SW 테스팅 산업 육성을 위해 준비해야 할 과제를 점검했다.
“경제뿐 아니라 사회 전체의 정보기술(IT) 의존도가 높아지고 있습니다. 기술적 이해도 마찬가지입니다. 이 상승세에 비례해 위험 인식도 커졌습니다. 이제 모두가 SW 테스팅이 이 위험요소를 줄여준다고 생각합니다. IT 전략을 수립할 때도 핵심 요소로 떠올랐습니다.”
기존에는 SW 테스팅이 SW 생명 주기 마지막 단계에서 진행해야 하는 필요악으로 인식됐다. 개발을 마치고 추가 시간과 비용을 들여 안정성을 검증하는 단계다. 그러나 이제는 기획부터 출시까지 SW 전 주기에서 효율성을 높이는 필수 수단으로 자리 잡았다. 스튜어트 리드 박사는 “SW 테스팅은 제품 개발 과정에서 중요한 정보를 제공해 경영진이 데이터 기반 의사결정을 하도록 돕는다”며 “언제 제품을 출시하는지도 SW 테스팅이 결정하는 시대가 왔다”고 말했다.
리드 박사는 유럽과 미국에서 테스팅 전문가(테스터)가 늘어나는 현상이 산업 성숙도를 나타내는 증거라고 강조했다. 특히 영국은 ISTQB 등 SW 테스팅 전문 자격증을 보유한 사람이 많다. 자격은 실무적 능력을 보여주는 작은 요소다. 그러나 테스터가 전문성을 보여주기 위해 끊임없이 노력한다는 점을 배워야 한다는 게 리드 박사의 생각이다.
리드 박사 역시 테스터로 활동한 경력이 있다. 1989년 영국 크랜필드대학에서 강의할 무렵 SW 테스팅에 첫발을 내딛은 그는 이후 실시간 시스템 개발자와 테스터로 일했다. 리드 박사는 당시 SW 테스팅 연구 수준이 미흡하다는 사실에 놀랐다. 직접 필요한 분야를 연구하며 테스팅 프레임워크를 만들기 시작했다. 그는 “개인적 흥미뿐 아니라 산업과 사회 전체를 돕는 SW 특성 때문에 매료됐다”며 “연구로 시작한 일이지만 최근 테스터에 동기 부여를 하고 역량을 집중시키는 방안을 고민한다”고 설명했다.
지난 2013년까지 범용적 SW 테스팅 국제 표준은 없었다. 몇몇 표준은 SW 테스팅 정의·과정·절차 상 중복이나 모순이 있었다고 리드 박사는 주장한다. 그는 “IEEE 테스팅 표준(IEEE 829)나 BS 7925-1/-2 등이 있지만 조직 차원 테스팅이나 관리, 비기능 테스팅에 있어 간극이 존재했다”며 “SW 테스팅 서비스 소비자나 테스터에게 유용한 정보가 거의 없었다는 의미”라고 말했다.
그는 다양한 테스팅 분야를 아우르고 실무적 해결책을 제공하기 위한 국제 SW 테스팅 표준 개발에 합류했다. 수준 높은 테스팅 서비스를 제공하는 기관과 테스터 업무 지원을 위해서다. 관련 국제표준화기구(ISO)와 ISTQB가 탄생한 배경이다. 리드 박사는 “ISO SW 테스팅 워킹그룹(WG26) 멤버로 매년 2주간 모여 토론과 교섭, 분과별 논의한 기술적 이슈로 표준을 결의한다”며 “분과장은 세계 각국 평가자에게 받은 의견과 이슈를 취합해 검토한다”고 밝혔다. 취합한 의견은 모두 문서화하고 공유한다.
리드 박사가 SW 테스팅 표준 제정과 전문 자격증 개발에 힘을 쏟은 이유는 ‘사람’ 때문이다. SW 테스팅 산업이 성숙하지 못했다면 테스터 처우를 돌아봐야 한다. 아직까지 테스팅과 테스터에게 무엇을 기대해야하는지 모르는 사람이 많다. ‘SW 테스팅이 왜 모든 품질 문제를 해결하지 못하는가’라는 의문이 든다면 SW 테스팅을 잘못 이해한 것이다. 리드 박사는 “테스팅은 품을 바꾸기보다는 그 상태를 측정하는 것”이라며 “테스팅이 품질에 기여하지만 모든 IT 분야에서 품질 향상을 위해 노력해야 한다”고 말했다.
전문 자격제도와 국제표준 준수는 ‘하면 좋은(nice-to-have)’일이 아니다. 꼭 해야 하는 요구사항이다.
정부와 기업은 SW 테스팅 계약에 이런 점을 명시하고 자격제도와 국제 준수를 요구해야한다. 해외 주요국에서는 이미 제도와 관행으로 자리잡았다. 영국은 공공부문과 민간 모두 SW 테스팅에 집중한다. 공공 효율화 요구가 커지면서 민간 시장과 유사한 행보를 걷는다. 정부 테스팅 업무 대부분도 규제와 방침에 맞는 민간 회사가 추진한다.
국내에서는 SW 테스팅이 이제 막 고개를 드는 상황이다. 기존 SW 개발업체가 자체적으로 수행했던 영역이다. 최근 SW 테스팅 전문업체가 관련 업무를 위탁받지만 활발하진 않다. 리드 박사는 인식 변화가 필요하다고 강조했다. 그는 “단기적으로 SW 테스팅 관련 콘퍼런스나 전문가 모임, ‘올해의 테스터(the Korean tester of the year)’같은 시상제도로 업계 전반을 활성화시켜야 한다”고 강조했다.
◇소프트웨어 테스팅(Software Testing)
SW 프로그램 품질과 신뢰성 향상을 위해 오류를 발견, 수정하는 일련의 과정. SW 테스팅 솔루션을 활용하기도 한다. SW 개발을 마친 다음에 테스팅 작업을 한다는 인식이 많지만 설계와 동시에 진행해야한다. 정확하게 처리되지 않은 기능, 알고리즘 등 결함을 개선하는 작업이다.
권동준기자 djkwon@etnews.com