[깃랩코리아=현태호 지사장] 소프트웨어 릴리스를 지연시키는 가장 큰 이유로는 소프트웨어 테스트 문제가 지적돼 왔으나 2022년 이후 상황이 크게 달라졌다.

[이미지=게티이미지뱅크]
[이미지=게티이미지뱅크]

5000명 이상의 실무자들이 참여한 2022년 글로벌 데브섹옵스 조사에서는 처음으로 릴리스를 지연시키는 타당한 원인으로 코드 개발, 코드 검토, 보안 분석, 테스트 데이터 관리 및 테스트 등 5가지가 요소가 동등하게 제시됐다. 최근 데브옵스(DevOps) 팀의 프로세스와 우선순위는 분명히 변화하고 있다. 릴리스 지연에도 영향을 미치는 상황이다.

◆코드 개발 및 코드 검토

지난 3년간 코드 개발 및 코드 검토는 릴리스 지연 요인의 2위와 3위를 차지했다. 당연한 결과이지만 코드 개발이 쉽고, 코드 검토가 항상 문제라는 것은 아니다.

개발자는 코드 검토와 관련해 수 많은 문제를 지적하고 있다. 상당히 노동집약적인 작업이고 누구나 할 수 있는 일도 아닌 까닭이다. 이러한 프로세스를 지원하는 문화도 충분하지 않다. 2022년 조사에서는 개발자의 76%가 코드 검토가 ‘매우’ 또는 ‘다소’ 가치가 있다고 응답했으며, 대다수는 코드 검토가 자신들이 더 많이 수행할 수 있기를 원하는 데브옵스의 핵심 단계 중 하나라고 언급했다. 전반적으로 개발자의 27%가 매주 코드를 검토하는 반면, 또 다른 21%는 매일 또는 커밋(Commit)할 때마다 코드를 검토하는 것으로 나타났다.

코드 검토는 중요하지만 보다 효율적으로 수행할 수 있는 방법이 필요하다는 의미다. 보다 손쉽게 코드 검토를 수행할 수 있도록 지원하는 유망한 솔루션 중 하나는 바로 AI(Artificial Intelligence)이다. 깃랩 조사에 따르면 현재 데브옵스 팀의 31%가 코드 검토를 위해 AI를 사용하고 있으며 2021년에 비해 두 배 이상 증가한 수치다. AI의 사촌격인 ML(Machine Learning)의 가능성도 주목된다. 깃랩은 이미 ML을 이용하여 코드 검토 프로세스를 개선하고 있다.

◆소프트웨어 보안 유지

안전한 코드를 작성하기 위해서는 보안 테스트가 필요하며, 이 단계를 방해하는 요소들은 실제로 오랫동안 영향을 미치고 있다. 보안은 일반적인 소프트웨어 개발, 특히 소프트웨어 릴리스와 관련해 대부분 ‘방해요소’로 간주돼 왔다. 하지만 2022년 조사에서는 우선순위가 달라졌다. 보안은 데브옵스 팀의 올해 최우선 투자 분야로 대두됐으며 대부분의 개발자들이 가장 어려운 업무 중 하나로 소프트웨어 보안을 유지하는 것이라고 피력했다.

개발자들이 현재 자신의 역할에 대한 도전과제를 언급한 사례로는 ▲최적의 성능 및 개인정보보호를 위한 최신 툴과 보안의 유지 ▲안전하고 안정적인 애플리케이션 빌드 노력 ▲보안 태세를 갖추고 최신 상태로 유지 등 보안은 가장 큰 도전 과제로 인식된다.

보안의 중요성은 언급된 사례 외에도 확인할 수 있다. 데브옵스 팀의 50% 이상이 SAST, DAST, 컨테이너 스캔을 실행하고 있으며 지난 2021년에 비해 크게 증가하고 있다. 이와 동시에 개발자들이 프로세스 후반에 이르러서야 소수의 버그만을 발견한다는 보안 전문가들의 불만 또한 4년째 이어지고 있다. 대부분의 팀에서 보안을 개발자의 성과 지표로 판단하고 있지만 보안 팀원들은 개발자가 실제로 버그를 수정하는 것은 여전히 매우 어려운 일이라고 지적하고 있으며,이러한 추세는 계속되고 있다.

◆테스트 데이터 관리

너무 많은 테스트 데이터는 좋은 것일 수도 있고, 나쁜 문제가 될 수도 있다. 조사에 참여한 데브옵스 팀의 47%는 전체 테스트 자동화를 실행하고 있는 것으로 나타났다. 이는 전년대비 거의 두 배 가량 증가한 수치이며 더 많은 보안 스캔도 실행되고 있는 것으로 나타났다. 조사에 참여한 응답자의 절반 이상(53%)이 코드를 작성하면서 테스트를 수행하고 있으며, 이는 2021년 대비 21% 증가한 수치이다.

모든 테스트는 대부분의 팀이 실제로 처리할 수 없는 데이터 관리 문제로 이어진다. 한 가지 예를 들면 DAST 및 SAST 결과를 개발자의 워크플로우/IDE에 수용할 수 있는 팀은 3분의 1 미만에 불과하며 해마다 낮아지고 있다.

급속도로 증가하는 테스트 속도와 자동화에 이어 팀이 데이터를 평가하고, 소통하고, 조치할 수 있는 방법이 요구된다.

◆까다로운 소프트웨어 테스트 특성

소프트웨어 테스트는 ‘데브옵스 희생양’으로 간주되는 경우가 많다. 테스트를 제대로 수행하는 것은 매우 중요하지만 파악하기조차 어려울 수 있다. 테스트 팀이 실행해야 하는 테스트 종류가 너무 많고, 테스트 자동화를 위해서는 프로세스 및 문화에 대한 막대한 투자도 필요하다. 바쁜 개발자들이 컨텍스트 전환이나 부정확한 결과에 집중하기 어렵기 때문에 종종 테스트 결과가 ‘잘못됨’, ‘불안정’, ‘늦음’ 등으로 표시되는 경우도 많다.

다만 몇 가지 긍정적인 징후들이 발견되고 있다. 2021년과 마찬가지로, 올해에도 조사 대상 개발자들이 더 주력하고 싶은 상위 작업 목록 중 하나로 테스트를 언급했다. AI도 이 분야에 진입하고 있다. 약 37%(2021년 대비 23포인트 증가)의 팀이 AI/ML을 사용해 코드를 테스트하고 있으며 20% 이상의 팀이 올해 데브옵스 실행사례에 AI를 추가할 계획이라고 밝혔다.

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지