최근 AI 기술이 발전하며 여러 업계에서 실무에 AI를 활용하는 등의 모습을 보이고 있습니다. QA 업계 또한 마찬가지입니다. 그렇다면, AI 기술을 활용한 QA 테스팅은 기존의 테스터들을 대체할 수 있을까요?
AI가 수행할 수 있는 테스트의 범위는 어디까지 인가요?
AI는 동일한 테스트 시나리오를 반복하며 정확한 결과를 도출해내는 능력이 뛰어납니다. 인력과 시간이 많이 소요되는 반복적인 플레이 테스트에 큰 장점을 지니죠. 또한, 서버나 클라이언트의 성능을 테스트하기 위한 다수의 인원 또한 AI 봇을 통하여 일부 대체할 수 있습니다. 소프트웨어상의 데이터 기반 버그도 AI는 효과적으로 찾아낼 수 있습니다. 수많은 정상 데이터 사이에서 문제가 발생할 여지가 있는 데이터를 인간의 눈보다 훨씬 빠르고 정확하게 찾아낼 수 있죠.
반대로, AI가 수행하기 어려운 테스트들도 존재합니다. 대표적으로 이용자의 입장에서 실제로 플레이어가 느끼는 재미, 감정, 난이도 등을 확인해야 하는 Fun QA가 있습니다. AI가 플레이 경험이나 재미를 평가할 수는 없으니까요. 마찬가지로, 일반적으로 일어나지 않는 예외 상황에 대한 테스트 또한 어렵습니다.
하나의 상황에 대한 테스트는 문제없이 가능하겠지만, 수많은 상황들이 엮여 발생하는 특이한 버그의 경우 AI가 발견하기 어려울 수 있습니다. 이러한 이슈들을 확인하기 위해서는 AI 테스트에 더불어 테스터의 교차 검증과 창의적인 테스트 진행이 필요합니다.
AI 테스트의 장단점에는 무엇이 있을까요?
AI는 지루함이나 집중력 저하 없이 반복적인 테스트 작업을 효율적으로 수행할 수 있습니다. 휴식이 필요하지 않으므로 시간의 제약 없이 테스트 일정을 유연하게 운영할 수 있습니다. 또한, 소프트웨어이기 때문에 데이터 오류 탐지의 정확도가 높아 신뢰할 수 있습니다. 이러한 특성 덕분에 AI는 인력 대비 효율적으로 테스트 업무를 진행할 수 있습니다.
AI를 활용한 테스팅에는 여러 장점들이 존재하지만, 마찬가지로 단점들도 존재합니다. 우선, AI 기반의 테스트를 진행하기 위한 기반 세팅이 필수적입니다. AI 프로그램, 훈련을 위한 데이터, 알고리즘 개발, 테스트 시나리오 설정 등 여러 사전 준비가 필요하며, 이는 상당한 시간과 비용을 요구하는 작업입니다. 또한, 이러한 과정을 거쳐 AI 기반 테스트 시스템을 구축하여도 모든 상황에 AI를 활용할 수 있는 것은 아닙니다. 사용자 경험 기반 테스트 및 예외 상황에 대한 테스트에는 AI를 활용하기 어렵죠.
게임이 개발을 거듭하며 변화할 때, AI 시스템 또한 알고리즘 훈련을 반복하며 지속적으로 유지보수를 해주지 않으면 게임의 업데이트 속도를 따라가기 어려울 수도 있습니다. 결국 AI도 사람이 유지보수를 해주어야 하는 도구이며, AI가 전반적인 테스트를 수행할 수 있는 수준으로 셋팅 하는 것은 오히려 사람이 직접 테스트를 수행하는 것보다 비효율적일 수 있습니다.
이러한 이유로 AI가 모든 테스트를 대체할 수는 없으므로, AI가 효율적으로 수행할 수 있는 영역을 명확히 설정하고, 나머지 영역은 테스터를 투입하여 병행하는 방식이 가장 이상적입니다.
AI를 통한 QA 비용 절감 효과는 어떤가요?
AI 테스팅의 최대 장점인 반복 작업의 자동화를 통해 인력을 보다 효율적으로 활용할 수 있습니다. 진행할 QA 영역이 실제 테스터가 투입되어 실행하는 리소스 대비 효율적일지 확인이 필요합니다. 자동화를 세팅하기에 수월한 영역인지, 앞으로 장기적으로 사용될 가능성이 있는지, 사전 세팅을 하기에 충분한 환경이 갖춰져 있을지 등이 확인되어야 합니다.
이러한 확인이 진행된 후, 많은 인력과 시간을 소모하는 반복 작업의 대부분을 AI가 대신 처리하게 된다면, 기존에 해당 반복 작업을 진행하던 인력들은 AI 테스팅이 어려운 영역에 집중하여 능률을 올리거나 다른 프로젝트를 진행하여 더 많은 업무를 처리할 수 있습니다. 이러한 결과로 업무량 대비 인건비 감소 및 매출 증가와 같은 효과를 볼 수 있습니다.
AI 테스트가 출시 전 보안에 문제를 일으키진 않을까요?
AI 기반 테스트는 데이터를 학습하고, 그 데이터를 기반으로 동작하기 때문에 데이터 보안상 취약점이 될 수 있습니다. 이러한 취약점을 보완하기 위해서는 학습에 사용되는 데이터를 체계적으로 관리하고, 주기적인 보안 점검을 통하여 보안 이슈가 발생하지 않도록 테스트 환경에 주의해야 합니다. 독립적인 네트워크 또는 데이터 환경에서 실행 및 테스트되는 것이 좋습니다. 외부로 테스트 결과 또는 테스트하는 AI 모델이 노출되지 않도록 온라인 만이 아니라 오프라인의 실제 테스트 환경에서도 철저한 보안 환경을 갖추는 것도 중요합니다. 라티스에서도 보안 유지를 위해 철저한 보안 출입 시설 및 보안 네트워크를 구축하고 월별 점검을 통해 외부로 유출되는 사항이 발생하지 않도록 하고 있습니다.
AI의 신뢰성 및 리스크에 대해 알고 싶어요.
AI 기반 테스팅은 뛰어난 효율을 보여줄 수 있지만, 완전히 신뢰할 수 있는 것은 아닙니다. AI는 학습한 데이터와 알고리즘에 의존하여 테스트를 진행하기 때문에, 충분히 다양한 데이터가 제공되지 않을 경우에서는 신뢰하기 어렵습니다. 또한, 학습한 데이터 및 알고리즘에 따라 테스트 방식이 편향적일 수 있습니다. 다른 디바이스 및 환경에 대해 동일한 데이터로 자동화 테스트가 진행되면 실제 동작과 다른 결과가 나올 수 있겠지요. 이러한 리스크를 최소화하기 위해서는 AI 테스팅 결과에 대한 교차검증, AI 모델에 대한 지속적인 학습 등의 유지보수가 필요합니다.
AI와 테스터는 협업 관계에 있습니다.
AI 테스팅의 도입은 테스터의 업무 중 특정 부분을 대체할 수 있지만, 테스터의 역할이 완전히 사라지지는 않습니다. AI는 반복적이고 큰 규모의 작업을 자동화하여 효율적으로 처리할 수 있습니다. 반대로, 테스터는 창의적이고 주관적인 판단이 필요한 영역을 처리할 수 있습니다. AI가 처리한 작업들의 데이터를 분석하고, AI를 반복 학습시켜 성능을 향상시키는 것 또한 테스터의 새로운 역할이 될 수 있습니다.
AI가 투입되기에 오히려 비효율적인 일정, 비용, 기타 환경 등도 있기 때문에 테스터가 투입되는 것이 오히려 좋은 환경에서는 테스터가 AI를 대신하는 것이지요. AI와 테스터는 협업 관계라고 볼 수 있습니다.
AI 테스팅 발전에 의한 테스터들의 역할에 변화가 발생할까요?
AI 테스팅이 QA 프로세스에 도입되게 되면 기존 테스터들의 역할에도 변화가 필요할 수 있습니다. AI 테스팅이 기존 테스터보다 뛰어난 역량을 보일 수 있는 부분이 존재하므로, AI가 커버하기 어려운 영역에 인력을 집중시킬 수 있겠죠. AI가 반복적인 테스트 작업을 대체하게 되면, 테스터들은 보다 복잡하고 예외적인 상황에 대한 버그를 찾아내는 데 집중할 수 있으며, UX 기반의 테스트에 더 많은 시간을 할애할 수도 있습니다. 새로운 기술 및 지식을 습득하는 것도 이 역할 변화에 도움이 될 수 있습니다. AI 테스트 도구 활용법, 데이터 분석 등의 기술적인 지식들을 습득하면 AI를 활용한 테스트의 능률을 더욱 끌어올릴 수 있습니다.