중요한 비즈니스 로직이나 시스템 상태를 블랙 박스에 깊이 묻 으면 올바른 시스템 동작을 확인하기가 어렵습니다. 전체 시스템보다 시스템에서 단일 구성 요소의 동작을 철저하게 테스트하는 것이 더 쉽습니다. 나는 어떤 메커니즘을 통해 그러한 것들을 명시 적으로 노출하는 것을 선호하므로 의미있는 방식으로 단위 / 회귀 / 통합 / QA 테스트를 할 수 있습니다.
캐시를 사용하는 옵션 중 하나는 캐시에 대한 세부 정보 (내용, 상태 등)를 제공하는 특수 페이지를 표시하는 것입니다. 이는 개발 및 잠재적으로 프로덕션에서 디버깅을 지원할 수 있습니다. 또한 QA는이 페이지를 사용하여 예상되는 캐시 동작에 대한 세부 사항이 제공되는 경우 캐시에 대한 테스트 케이스를 작성할 수 있습니다. 캐시 카운터 동작을 명시 적으로 문서화하기 위해 성능 카운터 및 / 또는 로그 파일을 사용하는 것은 눈에 잘 띄지 않지만 실행 가능한 다른 방법입니다.
이 접근 방식은 엔드 투 엔드 성능 테스트를 대체하지 않습니다. 이것은 캐시 자체가 올바르게 작동하도록하는 메커니즘입니다. 캐싱이 성능에 의도 한 영향을 미치는지 확인하려면 성능 테스트를 사용해야합니다.
또한 캐시 구성과 같은 동일한 인터페이스를 구현하는 새로운 구성 요소로 시스템 구성 요소를 교체하면 불안정하고 믿을 수 없을 정도로 복잡한 변경이 될 수 있습니다. 캐시 예제를 사용하면 이전에 상태 비 저장 상태로 상태를 도입하므로 찾기 또는 재현하기 어려운 버그가 발생할 수 있습니다. 이러한 변경에는 항상 예상되는 시스템 동작을 확인하기 위해 전체 회귀 테스트가 수반되어야합니다.