[칼럼] 소프트웨어 테스트, 적이 아닌 동맹으로 만들기
소프트웨어 테스트는 중요하지만, 지연을 유발하는 장애물로 간주되는 경우가 많다. 하지만 이제 이러한 사고방식이 변하기 시작했다.
오랫동안 소프트웨어 테스트 라이프사이클은 데브옵스(DevOps) 팀의 적으로 간주되었다. 그럴 만한 이유가 있다. 지난 3년 동안 진행된 깃랩의 연간 설문조사 참여자들은 모두 릴리스(출시) 지연의 가장 큰 원인으로 테스트를 지목했다.
테스트의 어려움
간단히 말하면, 테스트는 어렵다.
성공적인 데브옵스의 핵심 구성요소인 테스트는 많은 팀들에게 고난의 언덕과도 같다. 지난 몇 년 동안, 테스트는 지연의 주요 요인으로 지적되었다. 테스트의 어려움은 두 가지 문제로 귀결된다. 테스트는 항상 충분하지 않고, 테스트 자동화가 매우 까다롭다는 것이다.
하지만 올해 들어 분위기가 크게 반전되면서 흐름이 바뀌고 있다. 전세계에 걸쳐 약 4,300명의 응답자를 대상으로 실시한 최신 2021 글로벌 데브섹옵스(DevSecOps) 설문조사에 따르면, 데브옵스 팀들이 매우 빠르게 기술을 채택하면서 데브섹옵스로의 전환을 가속화하고, 릴리스 속도 및 고급 자동화 기능을 크게 개선하고 있는 것으로 나타났다.
이러한 가운데, 데브옵스의 다른 많은 구성요소와 마찬가지로 소프트웨어 테스트 라이프사이클이 성숙 단계에 접어들고 있다는 몇 가지 긍정적인 신호가 나타나고 있다. 설문조사 응답자의 약 25%가 완전한 테스트 자동화를 달성했다고 응답했으며, 이는 지난해 보고된 수치에 비해 두 배 이상 증가한 것이다. 또한 28%는 팀이 전체 테스트의 절반 이상을 자동화했다고 응답했다.
그 어느 때보다 빨라진 릴리스 속도
이제 비즈니스의 성공은 소프트웨어의 릴리스 속도에 크게 좌우된다. 코로나(COVID-19) 대유행으로 원격근무가 광범위하게 채택되면서 팀이 쿠버네티스(Kubernetes), 시프트-레프트(Shift-Left), 보안 및 머신러닝/AI(Artificial Intelligence)와 같은 최첨단 데브옵스 기술 수용에 주력할 수 있는 동기가 부여되었다.
올해에는 개발자의 84%가 그 어느 때보다 빠르게 코드를 배포하고 있는 것으로 나타났다. 이러한 릴리스 속도 향상은 소스 코드 관리 및 CI/CD(Continuous Integration and Continuous Delivery)와 같은 도구가 추가되었기 때문이다.
응답자의 약 12%가 데브옵스 플랫폼을 추가함으로써 프로세스가 빨라졌다고 답했다. 전반적으로 응답자 중 57%는 코드 배포가 2배 더 빨라졌다고 답했으며, 이는 지난해 35%에서 비해 크게 증가한 것이다. 또한 19%의 응답자는 코드 배포 속도가 10배 더 빨라졌다고 답했다.
여전히 난제로 남아있는 보안
또한 2020년 데브섹옵스 보고서에서 나타난 추세도 이어지고 있다. 개발자들이 시프트-레프트에 대한 역할을 계속해서 수행하면서 기존의 운영 및 보안 관련 작업 보다 더 많은 책임을 지고 있는 것으로 나타났다.
2021년에는 70% 이상의 보안 전문가들이 자신의 팀에서 보안 고려사항을 개발 초기 단계로 이동시키거나 시프트-레프트를 고려하고 있다고 답했으며, 이는 지난해 65%에 비해 증가한 수치이다. 이번 조사에 따르면, 시프트-레프트가 광범위하게 증가하는 것은 부분적으로 정적 및 동적 애플리케이션 보안 테스트를 수행하는 개발자들이 증가했기 때문인 것으로 보인다.
개발자의 53%(전년대비 13% 증가)가 정적 애플리케이션 보안 테스트(SAST: Static Application Security Testing) 스캔을 실행하고 있다고 답했으며, 44%(전년대비 17% 증가)의 개발자는 동적 애플리케이션 보안 테스트(DAST: Dynamic Application Security Testing) 스캔을 수행한다고 답했다.
또한 개발자들이 더 많이 수행해야 할 작업에 대한 질문에서도 대다수의 응답자들이 보안상 약점을 찾기 위한 침투 테스트(Penetration test), 안정성 및 기능점검을 위한 스모크 테스트(Smoke Test), 고객 경험 측정을 위한 AB test 등을 위한 수동 테스트 프로세스 또는 간단한 테스트 자동화에 대해 언급했다. 반면 향후 추진 가능성에 대해서는 25%의 팀이 테스트 자동화를 고려하기 시작했거나 전혀 고려하지 않는다고 응답했다.
사후 대응이 아닌 사전 예방적 테스트 필요
앞으로 테스트를 진행하면서 극복해야 할 가장 큰 과제는 사후 대응 모드에서 사전 예방적 모드로 전환하는 것이다.
42% 이상의 응답자가 프로세스 상에서 테스트가 너무 늦게 진행된다고 답했으며, 거의 같은 비율의 응답자들이 취약점을 분석, 처리 및 수정하는데 있어 어려움을 겪고 있다고 응답했다. 또한 약 37%는 버그 수정 상태를 추적하는 것이 어렵고, 33%는 수정에 대한 우선순위를 지정하는 것이 어렵다고 답했다.
지난해와 마찬가지로, 이러한 결과는 개발 프로세스에서 보안에 대한 접근방식이 여전히 사후 대응적이라는 것을 나타낸다. 또한 테스트에서 제기된 문제들이 병목현상을 초래하기 때문에 개발 주기에 데브섹옵스를 통합하여 개발 초기에 이를 포착하고, 해결하는 것이 중요하다는 것을 알 수 있다.
전반적으로 지난해에는 데브섹옵스에서 ‘보안(Sec)’을 실현하기 위한 중요한 진전이 있었음을 알 수 있었다. 올해 들어 데브섹옵스 성공사례 구현이 지난 몇 년에 비해 상당히 발전했지만, 앞으로도 보안 및 개발자, 운영 팀 간의 책임을 조정하고, 조직화하기 위한 더 많은 노력이 필요할 것으로 보인다.
또한 ‘혁신의 속도’에 대한 비즈니스 기대치는 계속해서 높아지고 있다. 기업들이 속도와 보안 사이에 필요한 균형을 맞추기 위해서는 개발자와 보안 팀 모두 이를 원활하게 지원할 수 있는 도구와 ‘시프트-레프트’를 채택해야 한다.
글 / 현태호 깃랩(GitLab) 한국 지사장
정리 / IT동아 김영우(pengo@itdonga.com)
필자 소개
현태호 지사장은 30년 이상 컴퓨터 소프트웨어 및 SaaS 비즈니스 분야에서 다양한 경력을 보유한 전문가이다. 2020년 12월부터 공식적으로 깃랩의 한국 지사장으로 부임한 그는 국내의 다양한 엔터프라이즈 기업들이 데브섹옵스(DevSecOps) 문화를 도입해 디지털전환(DT)과 혁신을 이루어야 한다고 강조하고 있다.
현 지사장은 서강대학교에서 경영학을 전공했고, 서울대학교 대학원에서 최고경영자과정(AMP)을 수료하였다. 또한 1997년과 2013년 하버드 비즈니스 스쿨 경영자 과정을 수료했다.
깃랩 입사 이전에는 15년간 한국IBM과 IBM 아시아지역 본부에서 영업 및 마케팅 부서에서 일했으며, 머큐리 인터랙티브에서 전무 이사로서 해당 기업을 애플리케이션 테스팅 1위 기업으로 성장시켰다. 이후 VMware 한국지사장, HP엔터프라이즈 소프트웨어 사업부 총괄 책임자를 역임하며 가상화 소프트웨어, Cloud 및 SaaS 비즈니스를 관리했고, 최근까지 클릭(Qlik)에서 한국 지사장으로 근무했다.
※ 본 콘텐츠의 내용은 IT동아의 편집 방향과 다를 수 있습니다