AI 코딩 에이전트와 대형 언어 모델(LLM)이 코드를 순식간에 쏟아내고 테스트 스크립트까지 자동으로 만들어주는 시대가 되면서, 일각에서는 "이제 테스팅도 버튼 하나 누르면 끝나는 쉽고 단순한 일 아닌가?"라는 착각에 빠지곤 합니다. 하지만 품질 전문가 매슈 하이저(Matthew Heusser)가 자신의 블로그 Quality Remarks에 기고한 "Turns Out Testing is Hard" 아티클은, 기술이 아무리 화려하게 발전하더라도 소프트웨어의 '진짜 품질'을 검증하는 일은 여전히 지독하게 어렵고 복잡하다는 현실을 서늘하게 되짚어 줍니다. (출처: Quality Remarks - Turns Out Testing is Hard / Matthew Heusser) https://qualityremarks.com/turns-out-testing-is-hard/ 이 아티클이 말하는 핵심은 간단합니다. 단순한 스크립트 실행이나 표면적인 기능 작동 여부를 확인하는 '체크(Checking)'는 AI나 도구를 통해 얼마든지 자동화하고 속도를 높일 수 있지만, 시스템의 숨겨진 리스크를 탐색하고 비판적으로 질문을 던지는 '진짜 테스팅(Testing)'의 난이도는 오히려 이전보다 더 올라갔다는 점입니다. AI 코딩 에이전트가 단 몇 초 만에 수백 줄의 코드를 생성을 해내면서 당장 눈앞의 기능은 돌아가는 것처럼 보입니다. 하지만 그 이면에서는 오작동이 일어날 수 있는 엣지 케이스, 시스템 간의 미묘한 맥락 단절, 그리고 나중에 거대한 장애로 돌아올 인지부채가 순식간에 쌓여갑니다. 매슈 하이저는 왜 테스팅이 여전히 지독히 어려운 과제로 남아있는지 몇 가지 근본적인 이유를 제시합니다. 첫째, '모호함과의 싸움'입니다. 소프트웨어 요구사항은 언제나 비어있는 행간과 모호함을 품고 있습니다. AI는 주어진 텍스트 그대로 명시적인 조건만 테스트하지만, 실제 인간 테스터는 명시되지 않은 사용...