모든 주제와 태그

테스트·검증

6개의 글

AI 코딩에서 단위 테스트가 맡는 세 가지 일: 검수, 안전망, 요구사항 전달

메이퇀 기술 블로그가 정리한 단위 테스트의 세 쓰임새를 옮기고 그중 요구사항을 테스트로 건네는 방식에서 드는 비용과 테스트가 틀렸을 때의 행동을 b-studio에서 36회 돌려 쟀습니다. 맞는 테스트를 건넨 9회의 토큰은 말만 준 9회의 0.96배로 실행 전에 적어 둔 범위 안이었고 값 하나가 요청과 다른 테스트를 건넨 18회에서는 에이전트가 모두 테스트를 따랐습니다. 그래서 건넨 테스트 옆에 두는 확인 하나를 적었습니다.

PR마다 18~35분 걸리던 통합 테스트를 전부 돌아도 3분으로 줄였다

실 DB 통합 테스트 잡을 로그로 쪼개 가며 줄였다. 측정용 테스트를 매일 도는 워크플로로 옮기고 MySQL을 한 번만 띄우고 Spring Modulith로 바뀐 모듈의 테스트만 골랐다. 그 과정에서 내가 넣은 종료 훅이 60초를 쓰는 것과 리포트에 안 잡히던 데이터 적재 2.5분을 찾았다. 전부 돌아도 3.2분, 골라 돌면 1.7분이다. 효과가 편차보다 작았던 개선 하나는 닫았다.

AI가 짜준 코드를 어디까지 기계한테 검증시킬 수 있을까?

처음에는 검증 충분성을 기계가 결정적으로 판정하게 만들려 했다. 그런데 사람이 하던 그 판단은 원래 확률적이었다. 그래서 갈라야 할 것은 무엇을 고정하고 무엇을 맡길 것인가였다. 고정할 자리에는 경계와 검사를 두고, 맡길 자리에는 판단할 재료를 준다. 다만 자기를 심판하는 자리 하나는 기계가 붙잡아야 한다.