AIㆍML / 글로벌 트렌드

생성형 AI를 위해 지속적 테스트를 업그레이드하는 3가지 방법

Isaac Sacolick | InfoWorld 2023.08.23
생성형 AI와 챗GPT, 깃허브 코파일럿이나 기타 AI 코드 생성 툴과 같은 대규모 언어 모델(Large Language Model, LLM)이 소프트웨어 개발 관행과 생산성에 변화를 일으키고 있다. 맥킨지는 생성형 AI 툴을 사용하는 개발자가 더 행복하고 더 생산적이며 더 의미 있는 작업에 집중할 수 있다고 보고했다. 보고서에 따르면, AI는 개발자의 코드 문서화, 생성 및 리팩터링 속도를 20~50%까지 높여준다.
 
ⓒ Getty Images Bank

맥킨지의 데이터는 앞으로 더 많은 CIO와 데브옵스팀이 개발자 생산성을 높이고 애플리케이션 현대화를 가속화하기 위해 생성형 AI 소프트웨어 개발 기능에 관심을 갖게 될 것임을 시사한다.

생성형 AI를 통해 코딩 및 소프트웨어 개발 속도가 높아진다면 테스트와 품질 보증도 더 높은 속도에 보조를 맞출 수 있을까? 아쉽게도 지금까지의 상황을 보면 테스트 관행은 개발 생산성과 데브옵스 자동화의 개선보다 뒤처져 있다.

켄트 벡이 테스트 주도 개발(Test-Driven Development, TDD)을 정의한 시점이 1990년대이고 테스트 자동화가 등장한 지도 꽤 오랜 시간이 지났지만, 많은 기업이 여전히 소프트웨어 테스트 투자에 인색하다. 지속적 테스트에 대한 투자는 CI/CD를 사용한 배포 자동화, 코드형 인프라(IaC) 구축을 비롯한 기타 데브옵스 관행보다 뒤떨어진다. 데브옵스를 사용해서 배포 빈도를 높이는 기업이 늘어나면서 지속적 테스트를 채택해서 기능 플래그를 사용하고 카나리 릴리스를 실행하고 AI옵스 기능을 추가해야 할 필요성도 커지고 있다.

개발자와 개발팀이 생성형 AI 기능이 사용되는 새로운 개발 환경에 맞춰 지속적 테스트 방식을 업그레이드하는 3가지 방법을 소개한다.


테스트 커버리지 증대

첫 단계로, 품질 보증(Quality Assurance, QA)팀은 생성형 AI에서 나오는 서드파티 코드의 증가를 예상하고 이 코드를 검토하고 플래그를 지정하기 위한 툴과 자동화를 추가해야 한다.

오토래빗(AutoRABIT) CEO 메레디스 벨은 “생성형 AI 툴의 인기는 내년에도 계속해서 높아지고 그 결과 개발 속도가 비약적으로 빨라지겠지만, 이는 보안 위험을 의미하기도 한다. 팀은 새로운 기술에 대한 가드레일로 정적 코드 분석 및 통합 테스트 자동화를 도입해야 한다”라고 말했다.

SAST, DAST를 포함한 정적 및 동적 코드 분석과 기타 코드 보안 테스트는 AI에서 생성된 코드를 활용하거나 LLM이 제안하는 오픈소스 및 기타 코딩 예제를 통합하고자 하는 데브옵스팀에 중요한 툴이다. 이런 테스트는 코드를 생성한 주체가 개발자든 AI든 관계없이 보안 취약점과 코드의 포맷 문제를 식별한다.


테스트 케이스 자동화

QA팀은 데브옵스팀이 기능을 구축하는 속도가 더 빨라질 것도 예상해야 한다. 이는 자동화가 필요한 테스트 케이스가 더 많아진다는 것을 의미한다. 소프트웨어 테스트가 개발 및 코딩 속도를 따라가지 못한다면 AI 툴이 어디서, 어떤 방법으로 그 간극을 메우는 데 도움이 될까?

카탈론(Katalon)의 최고 품질 설계자인 무시 혼다는 “실제 사용자 여정을 기반으로 AI가 생성한 테스트를 여러 브라우저와 디바이스에 걸쳐 시각적 테스트, 접근성 검증 및 성능 벤치마크와 결합하여 모든 릴리스가 종합적인 사용자 경험을 충족하는지 확인해야 한다”라고 말했다.

블레임리스(Blameless)의 콘텐츠 마케팅 관리자 에밀리 아노트는 QA가 LLM을 사용해서 더 많은 테스트 케이스를 생성하고 자동화하는 것도 고려해야 한다면서 “테스트 자동화에서 LLM과 같은 AI 툴을 사용해서 속도와 유연성을 높일 수 있다. LLM에서는 자연어를 사용해 스크립트를 요청할 수 있으므로 예를 들어 ‘이 로그 파일의 모든 입력을 사용해 이 코드를 테스트하는 스크립트를 작성하라’고 지시하고 실제로 작동하는 스크립트를 받을 수 있다”라고 설명했다.


테스트 데이터 확장 및 관리

그 외에 테스트의 복잡성 증대도 예상해야 한다. 예를 들어, 검색 엔진을 위한 테스트 케이스 생성에서는 로그 파일과 관찰가능성 툴에 캡처된 사용자 여정 및 인기 있는 키워드를 활용할 수 있다. 그러나 LLM과 AI 검색을 이용하고 자연어 쿼리 인터페이스와 프롬프트를 사용하는 기업이 증가할수록 테스트 케이스의 확장성도 더 높아져야 한다.

QA가 이 요구사항을 충족하기 위해서는 훨씬 더 크고 더 동적인 테스트 데이터 집합이 필요하다. 데브옵스팀은 LLM 및 자연어 쿼리 인터페이스를 통해 개발된 애플리케이션의 테스트를 자동화할 방법을 모색해야 한다.

액셀라리오(Accelario) CTO 로만 고로드는 “애자일 환경에서는 시간이 무엇보다 중요하며 종합적인 셀프 서비스 테스트 데이터 관리 시스템이 필수적이다. 데브옵스팀은 프로덕션에서 비프로덕션 환경까지 가상 데이터베이스를 자동으로 생성할 수 있어야 한다”라고 말했다.

테스트 기능과 빈도, 테스트 데이터 집합의 크기가 증가하면 데브옵스팀에서 데브옵스 및 테스트 인프라의 아키텍처와 역량에 대한 검토가 필요할 수 있다. 인포시스(Infosys)의 데이터 분석 부문 SVP 수닐 세난은 “애플리케이션팀은 합성 데이터 생성, 테스트 스크립트 생성, 테스트 이상점 탐지와 같은 AI 기반 테스트 자동화 기능을 갖춘 하이퍼스케일러로 데브섹옵스 파이프라인을 마이그레이션해서 ML 운영을 강화하는 방안을 고려해야 한다”라고 덧붙였다.


결론

요약하면 QA는 테스트 자동화를 늘리고 지속적 테스트를 확장하고 생성형 AI 테스트 생성 기능을 사용하고 대용량 테스트 데이터 집합을 중앙화함으로써 테스트의 범위와 깊이를 높일 수 있다.

코파도(Copado)의 제품 관리 담당 SVP 에스코 하눌라는 “앞서가는 앱 개발팀은 AI 주도 탐색 테스트 및 지속적 회귀 테스트를 채택할 것이다. 테스트는 사후 대응에서 사전 예방적으로 바뀌고, 기능이 구축되기도 전에 AI가 엣지 케이스와 버그를 파악하게 될 것이다. 이 수준의 로봇식 지속적 테스트는 개발을 가속화할 뿐만 아니라 기본적인 테스트 자동화로는 달성할 수 없었던 수준으로 앱 품질을 끌어올릴 것”이라고 말했다.

카탈론(Katalon) CTO 코티 로젠블래스는 “예전에는 비교적 단순한 합성만 사용됐던 프로덕션 검증에 더 정교한 테스트가 사용되고 있다. 팀은 변경 및 위험 영역에 집중하는 동적 테스트 모음을 구축하면서, 전체 회귀 모음을 기다리느라 릴리스가 지연되는 일을 방지하고 있다”라고 말했다.

코딩 및 소프트웨어 개발에 사용되는 생성형 AI는 지속적 테스트에 투자하고 테스트 데이터를 중앙화하고 테스트 커버리지를 개선하고 테스트 빈도를 높여야 할 필요성에 대한 경각심을 불러일으켰다. 이런 목표를 달성하기 위해 데브옵스와 QA 리더는 생성형 AI 기능을 추가할 수 있는 테스트 플랫폼을 찾아야 할 것이다.
editor@itworld.co.kr
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.