
안녕하세요! 카카오페이 QA팀 찬스입니다.
마지막으로 쓴 글이 3개월 전인 것을 보면서 새로운 회사와 프로세스, 문화, 업무 등.. 많은 것들에 새로 적응하는 일이야말로 가장 어려운 것 같다는 생각이 듭니다..ㅎㅎ
지난 4개월은 언제 어떻게 지나갔는지도 모를 정도로 4.0배 빨리감기 해버린 느낌이에요..😅
그동안 저는 새로운 환경에서 여러 과제를 부여받고 해결하면서 한번 더 성장할 수 있는 좋은 기회가 주어졌었습니다.
입사 후 AI를 이용한 TC생성 자동화라는 과제를 받고 3개월에 걸쳐 PoC를 진행했었는데요, 이 과제를 맡은 저조차도 과연 AI가 유효한 TC를 생성해낼 수 있을지에 대한 의심과 우려만 앞섰었지만 다행히 기대 이상의 결과를 거둘 수 있었습니다.
오늘은, 어떤 프롬프트를 작성해서 TC를 생성할 수 있었는지보다 AI로 90% 이상의 유효한 TC를 생성해내는 과정에서 이미 알고있었지만 제 생각보다 훨씬 더 중요하다는 것을 깨닳은 프롬프트 기법에 대해 공유해 보려고 합니다.

AI야 TC 만들 수 있니..?
지난 3개월은 'AI로 TC를 작성 시킬 수 있는가'에 대한 검증을 진행했습니다. AI가 TC를 작성할 수 있는지, AI의 결과물은 얼마나 유효한지, 실무에 활용할 수 있는지 등 본격적인 프로젝트에 앞서 가능성을 검토하는 기간이었어요. 이 기간동안 수행한 활동 중에는 팀에서 사용하고 있는 템플릿과 일치하는 올바른 형태의 TC 결과물을 생성하는 것이었습니다.
이전에 이미 AI를 이용해 체크리스트를 작성하는 프롬프트를 만든 적은 있었습니다.
(2024.11.04 - [품질 인사이트] - LLM 기반 체크리스트 생성 툴 공유)
LLM 기반 체크리스트 생성 툴 공유
안녕하세요! 원티드랩 QA팀 김명관 입니다. 이전 포스팅에서 원티드의 AI 플랫폼인 LaaS를 이용해 요구사항으로부터 체크리스트를 만들었던 경험을 공유해 드렸습니다. 그 이후 사내에서 관련 내
chance-doe.tistory.com
그러나 당시에 TC가 아닌 체크리스틀 작성하도록 한 이유는 기대 결과에 대한 부정확성 때문이었습니다. 당시에 제가 사용했던 프롬프트로는 제가 작성하지 않은 기대결과에 대해서 AI가 틀린 내용을 임의로 작성하곤 했거든요.
AI를 이용한 TC 생성 자동화 과제에서는 TC를 작성하는 것이 목표였고, 이전에 해결하지 못했던 기대결과 항목을 어떻게 해결해야 할지, 체크리스트에 비해 형식이 복잡하고 작성할 것이 많은 TC를 잘 작성할 수 있을지 확신이 없었습니다.

8할이 프롬프트였다..
글 초반에 말씀드린대로 이번에는 성공적으로 TC를 만들어낼 수 있었습니다. 제가 담당하는 서비스를 대상으로 실험한 결과 AI는 85~98%의 유효한 TC를 만들어냈고, TC의 형식과 기대결과 또한 제 기대 이상으로 작성해 주었습니다.
팀 내 11명의 QA와 TE분들을 대상으로 진행한 내부 테스트에서도 기대 이상의 반응을 확인할 수 있었습니다.
AI가 작성한 TC를 업무에 활용할 수 있겠느냐는 질문에는 100% 그렇다는 답변을 받았고, 내부 테스트 당시의 결과물을 기준으로 AI TC 생성 툴을 사용하고 싶냐는 질문에는 77%의 그렇다는 답변을 받았습니다. 그 외에도 누락된 케이스를 방지하는데에 좋아 보인다거나, 제시된 요구사항에 대한 케이스가 빠짐없이 작성되었다는 점에서 좋은 평가를 받았고, 주니어 QA 엔지니어 정도의 결과물 정도로 보여진다는 답변도 있었습니다.
이런 답변들은 모두 개인적으로 기대 이상의 결과였습니다. 내부 테스트를 진행하면서 지난 3개월 간의 노력이 물거품이 되지 않을지 엄청 긴장됐었거든요.. 그리고 이 과정에서 AI를 '얼마나 쓸만한 놈'으로 만들 수 있는가는 8할이 프롬프트였다는 것도 뼈저리게 느끼게 되었어요.

4 vs 11
PoC의 결과를 보고하기 위해 과제를 진행했던 내용들을 정리하는 과정에서 이전에 만들었던 체크리스트 작성 프롬프트와 이번에 만든 TC 작성 프롬프트를 비교해 보았습니다. 어떤 차이때문에 TC를 만들 수 있는 프롬프트와 만들 수 없는 프롬프트가 되었는지 궁금했거든요. 두 프롬프트를 비교해보니 체크리스트 작성 프롬프트에는 4개의 기법이 사용된 것을 확인했습니다. 당시에 저는 체크리스트 작성 프롬프트가 충분히 정교하게 작성되었다고 생각했었는데 작정하고 고도화를 하고보니 TC 작성에는 무려 3배에 가까운 11개의 기법이 사용된 것을 알게 되었습니다.
당시에 체크리스트 작성 업무에 실제로 활용하기도 했고, 기획자와 개발자에게 이 툴을 활용해 테스트를 위한 체크리스트를 작성할 수 있는 방법을 소개하기도 할 정도로 매우 잘 작성된 프롬프트라고 생각했었지만, 지금와서 보니 굉장히 허술한 프롬프트라는 느낌도 받았습니다.
결과적으로, TC형태의 정교한 결과물을 위해 프롬프트의 양도 늘어났지만, 이 문제 또한 양이 늘어난 프롬프트를 AI가 이해하기 좋은 형태로 정리하여 전달하는 기법도 적용되었기에 결과적으로 이렇게 좋은 TC결과물을 얻게 된 것 같습니다.

프롬프트 엔지니어링
AI는 사용자가 요청하는 대로 답합니다. 우리의 발화가 단순할수록 답변도 단순하고, 발화가 정교할수록 답변도 정교해집니다. 프롬프트 엔지니어링이라는 것은 결국 '내가 무엇을 원한다'를 언어적으로 가장 정확하게 표현하는 기술이라고 생각합니다. 그리고 내가 어떻게 질문을 했는지를 체계적으로 정리해 템플릿화하고, 그에 이름을 붙이면 그것이 기법이 됩니다.
저는 테스트케이스(TC) 결과물을 생성하는 과정에서 시스템 프롬프트에 7개의 알려진 프롬프팅 기법을, 유저 프롬프트에 2개의 알려진 기법과 1개의 독자적인 기법을 사용했습니다. 이렇게 구성된 11개의 프롬프팅 기법은 서로 유기적으로 AI의 답변을 유도하여 더욱 만족스러운 결과물을 만들어 내게 되었습니다. 프롬프트 엔지니어링은 단순한 입력 설계가 아니라, AI와 인간이 언어를 매개로 협업하는 방식을 정교하게 구축하는 과정이라 할 수 있습니다.
간혹 프롬프트 엔지니어링이나 프롬프트 엔지니어에 대한 무용론을 보게 되고는 합니다. AI의 발전 속도는 너무 빠르고, AI가 발전하다보면 개떡같이 말해도 찰떡같이 알아들어 우리가 원하는 결과물을 뚝딱뚝딱 만들어 주게 될거라구요. 저도 같은 생각을 하긴 합니다. GPT가 세상에 나오기 전후로 사회 전반에 많은 변화가 일어난 것처럼 또 한번 이런 기술의 발전이 프롬프트 엔지니어링의 필요성을 무색하게 할지도 모릅니다.
하지만 그런 시대가 오더라도 그 시대의 AI를 더욱 잘 활용하는 사람들은 지금의 AI를 더욱 잘 활용하기 위해 노력하는 사람들일거라는 생각도 하고 있습니다.
감사합니다.
'자동화' 카테고리의 다른 글
| Python을 이용해 Builder 패턴으로 API 자동화 테스트 코드 구성하기 (1) | 2025.04.29 |
|---|---|
| AI 기반 자가 치유형 Selenium 자동화 테스트 (0) | 2025.03.13 |
| 생성형 AI로 모의 이력서 테스트 데이터 만들기 (0) | 2025.01.10 |
| 생성형 AI로 체크리스트를 만들어보기 (1) | 2024.10.04 |
| Selenium & Python을 이용한 E2E 자동화 테스트 구현하기 (0) | 2024.08.02 |