Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - Затишна Галера
Added 06 Jan 2025 🌐 UK

Затишна Галера

@Zatishna_Galera
Number of subscribers: 2 690
Photos: 1,570
Videos: 475
Links: 2,090
Description:
Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley
Source

Затишна Галера | ЧарівнийКомпас 🧭2️⃣5️⃣5️⃣️️ Завдання 255Чим відрізняються soft delete ...

Telegram community logo - Затишна Галера Затишна Галера @Zatishna_Galera
474 Views/Reach 2026-10-12 14:14 Message №3043
#ЧарівнийКомпас 🧭
2️⃣5️⃣5️⃣️ ️ Завдання 255

Чим відрізняються soft delete і hard delete з точки зору тестування?


Закриваємо нашу пʼятірку питань з QA теорії.

🤔 Hard delete - це фізичне видалення запису з бази даних.

Наприклад, якщо ми видалили користувача через hard delete, запис про нього більше не існує в таблиці. Відновити його можна тільки з бекапу або інших джерел, якщо вони є.

При тестуванні hard delete звертаємо увагу на:
➖ запис дійсно видалений з бази;
➖ він більше не повертається через API;
➖ його немає в UI, пошуку та списках;
➖ правильно оброблені пов’язані дані;
➖ немає orphan records (записи-сироти для кого цей запис був батькивскьим);
➖ повторне видалення обробляється коректно;
➖ видалення не ламає історичні дані та залежності.

🤔 Soft delete - запис фізично залишається в базі, але позначається як видалений.

Наприклад, це може бути поле is_deleted = true, статус deleted або deleted_at з датою видалення або інші варіанти.

Тут тестування складніше, тому що потрібно перевірити не тільки сам факт «видалення»:
➖ запис залишився в базі та отримав правильний статус;
➖ він більше не відображається користувачу там, де не повинен;
➖ API за замовчуванням не повертає soft-deleted записи;
➖ пошук, фільтри, пагінація і статистика їх правильно виключають;
➖ пов’язані сутності поводяться коректно;
➖ якщо підтримується відновлення запису - запис можна правильно відновити;
➖ повторне створення сутності з тим самим унікальним значенням працює відповідно до бізнес-логіки (може бути по різному).

🤓 Наприклад, користувача soft delete видалили, але його email залишився в базі. Якщо система дозволяє зареєструвати нового користувача з таким самим email, це окремий сценарій, який обов’язково потрібно перевірити.

#️⃣ Hard delete - перевіряємо, що дані фізично зникли і залежності не зламалися.

#️⃣ Soft delete - перевіряємо, що дані залишилися в системі, але всюди правильно поводяться як видалені.

@Zatishna_Galera