수년간 테스팅 현장을 지키다 보니 참 많은 변화를 목격하게 됩니다. 예전에는 검증해야 할 대상이 명확한 '코드'와 정해진 '기호'의 세계였다면, 최근에는 그 물결의 성격이 근본적으로 변하고 있다는 것을 피부로 느끼곤 합니다.
그래서 한동안 버리다시피 방치한 이 블로그에 잠시 우리가 마주한 이 새로운 기술적 패러다임과, 그 안에서 테스터가 가져야 할 마음가짐에 대해 제 개인적인 생각을 적어보고자 합니다. 누군가에는 도움이 되길 바라는 마음입니다.
우리가 과거에 다루던 SW는 명확한 논리 규칙(Logic rules)을 사용하던 시대였죠. 'A이면 B이다'라는 규칙이 명확했기에, 테스터의 역할도 그 규칙이 잘 지켜지는지 확인하는 데 집중되어 있었습니다.
하지만 이제는 생활의 일부가 되어버린듯한 생성형 AI(Generative AI)는 전혀 다른 차원의 존재입니다. 대규모 데이터셋의 패턴을 학습하여 사람과 유사한 콘텐츠를 만들어내는 생성형 AI는, 규칙이 아니라 '통계적으로 그럴듯함(Statistically plausible)'을 기반으로 답을 내놓습니다. 여기서 중요한 점은 '그럴듯해 보인다'는 것이 반드시 '정확하다'는 의미는 아니라는 사실입니다.
이제 테스터는 단순히 코드의 결함을 찾는 수준을 넘어, 맥락을 파악하고 일관성 있는 응답을 내놓는지, 그 과정에서 논리적 비약은 없는지 살피며 AI와 상호작용해야 합니다. 테스팅의 대상이 '딱딱한 규칙'에서 '유연한 행동'으로 넘어가고 있는 셈이지요.
이런 변화 속에서 제가 강조하고 싶은 개념은 단순히 도구 사용법을 익히는 숙련도가 아니라, 'AI 활용능력(AI Fluency)'입니다. 이는 AI를 단순한 도구가 아니라, 우리의 능력을 확장해 주는 함께 생각하는 파트너(Augmentation)로 바라보는 관점의 전환을 의미합니다.
테스터가 가진 날카로운 도메인 지식과 AI의 생성 능력이 결합될 때 발생하는 시너지는 실로 놀랍습니다. 예를 들어, 우리가 수동으로 설계하기 까다로웠던 경계값(Boundary Value) 설정이나 복잡한 합성 테스트 데이터(Synthetic Test Data) 생성, 그리고 예상 결과를 도출하는 테스트 오라클(Test Oracle) 작업 등에 AI를 활용할 수 있습니다.
AI는 초안을 순식간에 만들어내고, 우리는 테스터의 전문성을 발휘해 그 결과물을 정교하게 다듬습니다. 이것이 바로 미래 테스터가 가져야 할 핵심 경쟁력이자, 제가 현장에서 깨달은 가장 큰 즐거움이기도 합니다.
AI라는 파트너와 성공적으로 협업하기 위해 저는 '4D 프레임워크'라는 지도를 따라가 보길 권합니다.
이 지도는 릭 다칸(Rick Dakan) 교수와 조셉 펠러(Joseph Feller) 교수의 연구 협력을 통해 정립된 'AI 활용능력(AI Fluency) 프레임워크'의 핵심인 4D 프레임워크입니다.
이는 우리가 AI 시스템과 더 효과적이고 효율적이며, 나아가 윤리적이고 안전하게 상호작용하기 위해 갖춰야 할 네 가지 상호 연결된 핵심 역량인 위임(Delegation), 묘사(Description), 분별(Discernment), 근면(Diligence)을 의미합니다.
이 역량들은 단순한 기술적 숙련도를 넘어 테스터가 AI라는 파트너와 함께 일할 때 필요한 기술, 지식, 통찰력, 그리고 가치관을 유기적으로 결합해 줍니다. 이 프레임워크에 대한 더 상세한 자료는 공식 홈페이지(https://ringling.libguides.com/ai/framework)에서 확인하실 수 있습니다
그 첫 번째 여정은 '위임'과 '묘사'입니다.
위임(Delegation)은 '무엇을 AI에게 맡기고 무엇을 직접 할 것인가'를 전략적으로 판단하는 능력입니다. 이를 위해선 내가 해결하려는 목표를 명확히 하는 문제 인식(Problem Awareness)과 함께, 사용할 AI 시스템의 강점과 한계를 파악하는 플랫폼 인식(Platform Awareness)이 선행되어야 합니다. "이 업무는 AI가 잘할 수 있는 영역인가?"를 먼저 자문해보는 습관이 필요하더군요.
묘사(Description)는 AI와 생산적인 소통을 하는 능력입니다. 테스터의 의도를 정확히 전달하기 위해 다음의 6가지 프롬프팅 기법을 기억해두시면 좋습니다.
- 맥락 제공: 구체적인 배경과 범위를 설명하세요.
- 예시 제시: '좋은 결과물'의 샘플을 보여주면 AI는 패턴을 훨씬 더 잘 이해합니다.
- 제약 조건 설정: 출력 형식이나 스타일을 구체적으로 지정하세요.
- 단계별 분할: 복잡한 작업은 여러 단계로 나누어 가이드하세요.
- 생각할 시간 부여: 답변 전 스스로 추론할 수 있는 여유를 주어야 합니다.
- 역할 정의: AI에게 '숙련된 테스트 매니저' 같은 퍼소나를 부여해 보세요.
여기서 저만의 '비밀 병기(Secret Weapon)' 하나를 공유하자면, 프롬프트를 어떻게 써야 할지 막막할 때 "내가 원하는 결과를 얻으려면 너에게 어떻게 질문하는 게 가장 좋을까?"라고 AI에게 직접 물어보는 것입니다. 이것이야말로 가장 강력한 협업 기법이 될 수 있습니다.
AI가 결과물을 내놓았다고 해서 우리의 임무가 끝나는 것은 아닙니다. 오히려 테스터의 진가가 발휘되는 시점은 지금부터입니다.
분별(Discernment)은 AI의 결과물을 비판적으로 평가하는 능력입니다. 이는 묘사 단계와 맞물려 지속적인 피드백 루프(Continuous feedback loop)를 형성해야 합니다.
- 산출물 분별(Product Discernment): 결과물이 정확한지, 적절한지, 일관성이 있는지를 살핍니다.
- 과정 분별(Process Discernment): AI가 그 답에 도달하기까지 논리적 오류나 주의력 결핍(Lapses in attention)은 없었는지 추론 과정을 검증합니다.
- 행동 분별(Performance Discernment): AI의 의사소통 방식이 우리의 목적에 부합하는지 평가합니다.
마지막으로 근면(Diligence)은 이 모든 과정을 책임감 있게 지속하는 태도입니다. AI의 결과물이 그럴듯해 보여도 할루시네이션(환각)이나 편향의 위험은 늘 존재합니다. 특히 소프트웨어 테스팅에서는 데이터 프라이버시와 보안, 그리고 윤리적 활용이 무엇보다 중요하기에 이를 끊임없이 확인하고 보완하는 성실함이 테스터에게 요구됩니다.
AI 시대의 테스팅은 혼자만의 고독한 싸움이 아니라, AI와 각자의 강점을 나누어 맡으며 품질을 완성해 나가는 과정입니다.
우리가 걷는 이 길에 정해진 정답은 없습니다. 하지만 테스터로서의 전문성을 믿고 새로운 도구와 대화하며, 그 결과를 날카롭게 분별해 나가는 그 자체가 여러분만의 새로운 커리어 로드맵이 될 것이라 확신합니다. 저 역시 이 흥미로운 여정에 여러분의 든든한 동료로 함께하겠습니다.
완벽하지 않아도 괜찮습니다. 오늘부터 AI 파트너에게 가벼운 안부와 함께 질문을 던져보는 것은 어떨까요? 함께 학습하며 조금씩 앞으로 나아가 보면 좋겠습니다.
댓글
댓글 쓰기