솔직히 저는 처음에 ChatGPT를 그냥 "코드 자동완성 도구" 정도로 생각했습니다. 검색보다 조금 빠른 것, 그 이상도 이하도 아니라고 봤죠. 그런데 실제로 테스트 자동화 업무에 써보고 나서 생각이 완전히 바뀌었습니다. 개발자가 ChatGPT를 매일 쓰는 데는 단순히 코드가 빠르게 나와서가 아닌, 더 근본적인 이유가 있었습니다.

AI코딩도우미, 실제로 어디에 쓰이나
처음 Playwright를 접했을 때 공식 문서를 읽다가 멈춰버린 적이 있습니다. Playwright란 Microsoft가 만든 E2E(End-to-End) 테스트 자동화 프레임워크입니다. 쉽게 말해 실제 브라우저를 코드로 조종해서 사용자의 행동을 자동으로 재현하는 도구입니다. 문서 자체는 잘 정리되어 있는데, 개념을 처음 접하는 사람에게는 어디서부터 시작해야 할지 감이 안 잡히는 구조였습니다.
그때 ChatGPT에 "초보자 관점에서 Playwright 셀렉터(selector) 개념을 설명해줘"라고 입력했습니다. 셀렉터란 웹 페이지에서 특정 요소를 찾아내는 방식을 지정하는 문법으로, CSS 선택자나 텍스트 기반 선택 등 여러 방식이 있습니다. 공식 문서에서는 이 개념이 당연한 전제처럼 쓰여 있는데, ChatGPT는 제가 헷갈려하는 지점을 정확히 짚어주었습니다. 제가 직접 써봤는데, 이건 예상 밖이었습니다.
이런 경험이 쌓이면서 ChatGPT를 쓰는 개발자와 그렇지 않은 개발자 사이에 학습 속도 차이가 생기는 게 보이기 시작했습니다. McKinsey Global Institute의 연구에 따르면 생성형 AI 도구를 활용하는 소프트웨어 개발자는 코딩 작업 속도가 평균 35~45% 향상된 것으로 나타났습니다(출처: McKinsey Global Institute). 수치보다 제 경험상 더 체감이 큰 영역은 사실 코드 작성이 아니라 "막히는 순간을 빠져나오는 속도"였습니다.
저는 ChatGPT를 잘 쓰는 방법 중 하나로 프롬프트 엔지니어링(Prompt Engineering)을 꼽습니다. 프롬프트 엔지니어링이란 AI에게 입력하는 질문이나 지시문을 전략적으로 설계해서 원하는 결과를 얻는 기술입니다. "코드 만들어줘"처럼 단순한 요청과 "Python FastAPI 환경에서 예외 처리와 주석을 포함한 회원가입 API를 시니어 백엔드 개발자 스타일로 작성해줘"라는 요청은 결과물 품질 면에서 완전히 다릅니다. 제가 직접 비교해봤을 때 맥락을 넣은 쪽이 수정 횟수가 눈에 띄게 줄었습니다.
ChatGPT가 특히 빛나는 상황을 정리하면 다음과 같습니다.
- 공식 문서를 읽었지만 어디서부터 시작해야 할지 모를 때
- 오류 로그는 있는데 원인이 바로 보이지 않을 때
- 정규식(RegEx)처럼 매번 헷갈리는 문법을 빠르게 확인하고 싶을 때
- 테스트 케이스 설계 시 놓친 예외 케이스를 점검하고 싶을 때
- API 명세서나 기술 문서 초안을 빠르게 만들어야 할 때
테스트자동화에서 코딩생산성을 높이는 방법
QA 엔지니어와 함께 일하면서 테스트 자동화 분야에서 ChatGPT 활용도가 특히 높다는 걸 실감했습니다. 테스트 자동화란 반복적인 기능 검증을 사람이 직접 클릭하는 대신 코드로 실행되게 만드는 것입니다. 수동 테스트 대비 회귀 테스트(Regression Test) 커버리지를 높이는 데 유리하지만, 처음 진입 장벽이 상당히 높습니다. 회귀 테스트란 새로운 코드 변경이 기존에 잘 작동하던 기능에 영향을 주지 않는지 확인하는 테스트를 말합니다.
Python으로 Playwright 스크립트를 처음 작성할 때 저는 ChatGPT에 코드를 붙여 넣고 "이 코드의 문제점이 뭐야?"라고 물었습니다. 그냥 리뷰 요청이 아니라 예외 케이스, 대기 조건 처리, 로케이터(Locator) 안정성 같은 항목을 구체적으로 짚어달라고 했습니다. 로케이터란 Playwright에서 DOM 요소를 지정하는 객체로, CSS 셀렉터나 ARIA 속성을 기반으로 요소를 안정적으로 찾아줍니다. 이 피드백이 꽤 구체적이어서 코드 품질이 생각보다 빠르게 올라갔습니다.
다만 이 부분에서 저는 조금 다른 시각을 가지고 있습니다. ChatGPT가 제안한 코드를 그냥 복사해서 쓰는 사람도 있는데, 그러면 단기적으로는 빠르게 결과가 나와도 근본적인 이해 없이는 나중에 유지보수가 어려워집니다. 코드를 받은 다음에 "왜 이렇게 짰어?"라고 한 번 더 물어보는 습관이 중요하다고 느꼈습니다. 도구가 좋아질수록 원리를 이해하는 과정이 오히려 더 중요해지는 아이러니가 있습니다.
GitHub의 개발자 설문에서도 비슷한 경향이 확인됩니다. AI 코딩 보조 도구를 사용하는 개발자의 70% 이상이 집중적인 코딩 작업에서 생산성이 향상되었다고 응답했으며, 반복 작업 절감이 가장 큰 이유로 꼽혔습니다(출처: GitHub Octoverse). 하지만 같은 조사에서 AI가 생성한 코드를 검증하는 데 시간이 걸린다는 응답도 상당수였습니다. 도구의 효율성을 높이려면 결국 사람의 판단이 빠져선 안 된다는 방증입니다.
정리하면, ChatGPT를 코딩에 쓸 때 실질적인 생산성을 높이는 방법은 다음과 같습니다.
- 역할을 부여한다: "너는 시니어 Python 개발자야"처럼 컨텍스트를 명확히 준다.
- 조건을 구체화한다: 사용 환경, 예외 처리 여부, 코드 스타일 등을 포함한다.
- 결과물을 검증한다: 받은 코드를 반드시 테스트하고, 동작 원리를 스스로 확인한다.
- 추가 질문을 던진다: "이 코드에서 놓친 예외 케이스는 뭐야?"처럼 후속 질문으로 깊이를 더한다.
저는 ChatGPT를 가장 잘 쓰는 개발자는 "답을 빨리 받는 사람"이 아니라 "좋은 질문을 만들 줄 아는 사람"이라고 생각합니다. 결국 프롬프트의 품질이 결과물의 품질을 결정합니다. 아직 이 도구가 익숙하지 않다면, 지금 막혀 있는 코드 한 줄에 대해 질문하는 것부터 시작해보시길 권합니다. 처음 한 번만 제대로 써보면 그 전으로 돌아가기가 꽤 어렵습니다.