Faultsense가 엔드투엔드(E2E) 테스트와 실사용자 모니터링(RUM)을 위한 새로운 접근 방식을 제시했습니다. 이 도구는 개발자가 웹 애플리케이션의 UI 요소에 직접 검증(assertion) 로직을 추가하여, 실제 사용자 세션이 발생하는 프로덕션 환경에서 해당 로직이 통과하는지 실패하는지를 평가하고 보고하는 경량 브라우저 에이전트입니다. 기존의 테스트 스크립트 방식과 달리, 검증 코드가 UI 마크업 옆에 위치하며 사용자의 기기에서 직접 실행됩니다.
Faultsense의 핵심은 `fs-*` 속성을 사용하여 HTML 요소에 직접 검증 조건을 정의하는 것입니다. 예를 들어, `<button fs-assert="checkout/submit-order" fs-trigger="click" fs-assert-added-success=".order-confirmation" fs-assert-added-error=".error-message[text-matches=try again]">Place Order</button>`와 같이 버튼에 속성을 추가하면, 사용자가 이 버튼을 클릭했을 때 주문 확인 메시지가 나타나면 성공, 오류 메시지가 나타나면 오류, 둘 다 아니면 실패로 기록됩니다. 이러한 결과는 개발자가 설정한 콜렉터 함수를 통해 원하는 데이터 웨어하우스나 지표 파이프라인으로 전송되어 분석됩니다. Faultsense는 CDN 또는 npm을 통해 쉽게 통합할 수 있으며, 별도의 백엔드나 API 키 관리 없이 유연하게 사용할 수 있습니다.
이러한 접근 방식은 엔드투엔드 테스트의 패러다임을 변화시킬 잠재력을 가집니다. AI가 테스트 흐름을 주도하는 시대에, Faultsense는 '무엇이 올바른가'를 정의하는 검증 단계를 실제 사용자 경험과 밀접하게 연결합니다. 이는 개발팀이 CI(지속적 통합) 환경의 시뮬레이션된 브라우저에서만 작동하던 테스트를 넘어, 실제 환경에서 발생하는 미묘한 문제들을 조기에 발견하고 해결하는 데 도움을 줍니다. 결과적으로, 개발자는 두 개의 코드베이스를 유지할 필요 없이, 프로덕션 환경에서의 사용자 경험 품질을 더욱 정확하게 측정하고 개선할 수 있게 됩니다.