✅ 1. Перевірка, чи кеш працює взагалі
- Зроби запит до API/серверу, який використовує кеш
- Повтори той самий запит кілька разів
- Перевір, чи другий/третій запит швидший (менше часу відповіді)
- Перевір, чи дані беруться не з БД, а з кешу (через логування, дебаг, або моніторинг кеш-хітів)
🔍 Якщо є доступ до Redis або кеш-слою — перевір ключі вручну
🔁 2. Кешування результатів
- Зроби запит → збережи результат
- Зміни дані у джерелі (наприклад, у БД)
- Зроби запит знову — переконайся, що кеш не оновився одразу
- Перевір, що після закінчення TTL (час життя) кеш оновлюється
Це перевірка того, що кеш не бере свіжі дані одразу, а дає “старі” протягом заданого часу
🧹 3. Очистка кешу
- Зміни дані в системі (наприклад, онови профіль користувача)
- Перевір, що кеш був оновлений/очищений після цієї операції
- Перевір вручну в Redis або логах — чи видалено старі ключі
У складніших системах кеш очищається по подіях, наприклад: “оновив юзера → очищаємо кеш по ключу
user:123
“
🔑 4. Перевірка правильності ключів
- Кеш повинен зберігатися під унікальними ключами
- Тест: запит
user/1
іuser/2
не повинні повертати однакові дані - Перевір кеш вручну (наприклад, через
GET user:1
у Redis CLI)
⏱️ 5. Тест TTL (Time to Live)
- Зробити запит → переконатися, що ключ з’явився
- Дочекатись, поки TTL сплине
- Повторити запит → дані мають оновитись, а не прийти з кешу
🚫 6. Тестування при вимкненому кеші
- Вимкни кешування (тимчасово, через налаштування або мок)
- Переконайся, що система працює правильно, але повільніше
- Важливо: додаток не повинен падати через відсутність кеша
🧪 Тест-кейси (приклади):
Назва тесту | Очікувана поведінка |
---|---|
Повторний запит повертається швидше | Дані беруться з кешу, час відповіді менший |
Кеш очищується після оновлення | Кеш видаляється або оновлюється |
Дані з кешу не змінюються протягом TTL | Протягом TTL дані статичні |
Кеш не заважає оновленню | Оновлення БД змінює кеш після TTL або через інвалідацію |
Невірний ключ → кеш не використовується | Дані не беруться з кешу, якщо ключ не співпадає |