重要なビジネスロジックやシステム状態をブラックボックスの奥深くに埋めると、正しいシステム動作の検証が困難になります。システム全体よりも、システム内の単一のコンポーネントの動作を徹底的にテストする方が簡単です。このようなことを何らかのメカニズムを通じて明示的に公開することで、ユニット/回帰/統合/ QAを何らかの意味のある方法でテストできるようになりました。
キャッシュを使用する1つのオプションは、キャッシュの詳細(コンテンツ、状態など)を提供する特別なページを公開することです。これは、開発および潜在的に本番環境でのデバッグに役立ちます。QAはこのページを使用して、キャッシュの予想される動作に関する詳細が提供されている場合、キャッシュのテストケースを作成することもできます。パフォーマンスカウンターやログファイルを使用してキャッシュの動作を明示的に文書化することも、あまり見られないが実行可能なアプローチです。
このアプローチは、エンドツーエンドのパフォーマンステストに代わるものではないことに注意してください。これは、キャッシュ自体が正しく動作することを保証するメカニズムです。キャッシュがパフォーマンスに意図した影響を与えるかどうかを判断するには、パフォーマンステストを使用する必要があります。
また、システムのコンポーネントを、キャッシュの導入など、同じインターフェースを実装する新しいコンポーネントと交換することは、不安定で一見複雑な変更になる可能性があることに注意してください。キャッシュの例では、以前はステートレスであった状態を導入しているため、発見や再現が困難なバグを作成する可能性があります。このような変更には、予想されるシステムの動作を検証するための完全な回帰テストを常に伴う必要があります。