TL;DR

  • 일회성 테스트(ephemeral testing)는 기반 소프트웨어 위에 인공지능 에이전트가 임시 애플리케이션이나 계층을 만들고 테스트하게 해 기반의 품질을 평가하는 통합 테스트 방식임.
  • 평가 대상은 기반 코드 자체가 아니라 그 위에 구축된 소프트웨어의 작동 품질임.
  • 명확한 API, 안정적인 불변 조건, 유용한 오류 메시지는 에이전트가 빠르게 작동하는 결과물을 만드는 데 도움이 됨.
  • 숨겨진 상태, 예상 밖의 기본값, 불완전한 문서는 패치와 실패를 낳으며, 이 실패는 에이전트보다 기반 코드에 관한 증거임.
  • 여러 에이전트와 작업을 같은 기반에 적용해 반복할 수 있으며, 새 기능을 검토할 때도 이후 구현할 수 있는 것을 빠르게 프로토타입으로 만듦.

일회성 테스트 방식

  • 단위 테스트, 퍼즈 테스트, 통합 테스트 등 소프트웨어 품질을 보장하는 방법은 다양함.
  • 코드나 소프트웨어 구성 요소를 만든 뒤, 인공지능 에이전트에게 이를 기반으로 애플리케이션이나 하나 이상의 계층을 구축하고 테스트하도록 요청함. 기반 작업의 품질을 직접 평가하는 대신 그 위에 만든 소프트웨어가 얼마나 잘 작동하는지를 평가함.
  • 통합 테스트의 한 형태지만, 상위 소프트웨어를 완전히 임시로 만들고 테스트가 끝나면 버린다는 점이 다름.

기반 코드에서 드러나는 품질

  • 명확한 API, 안정적인 불변 조건, 유용한 오류 메시지를 갖춘 라이브러리는 에이전트가 빠르게 작동하는 결과물을 만들도록 함.
  • 숨겨진 상태, 예상 밖의 기본값, 불완전한 문서를 갖춘 라이브러리는 패치와 실패를 쌓이게 함. 이 실패는 에이전트가 아니라 기반 코드에 관한 증거임.
  • 같은 기반에 서로 다른 에이전트와 작업을 적용해 테스트를 반복할 수 있음.

다른 계층을 실제로 만들어 검증

  • 다른 계층에서 무엇이 필요할지 예상하며 핵심을 구축하는 대신, 그 계층을 실제로 만들어 봄으로써 시뮬레이션함.
  • 인공지능을 사용하면 필요할 때마다 모든 것을 다시 만들 수 있다는 반론이 가능하지만, 이는 실용적이지 않으며 어느 정도의 안정성이 필요함.
  • 여러 프로젝트에 이 방식을 적용하고 있으며, 새 기능을 고려할 때 현재 작업을 바탕으로 나중에 만들 수 있는 것을 인공지능에 빠르게 프로토타입으로 만들게 함. 지금까지 일회성 테스트가 유용하게 작동함.

출처