Source
QA Co-pilot | Порожня база — погані тести: Генеруємо 100 юзерів за секундуПривіт, ек...
33 Views/Reach
2026-01-05 10:19
Message №148
🌱 Порожня база — погані тести: Генеруємо 100 юзерів за секундуПривіт, екіпаж!Тепер у вас є локальна база даних. Але є одна проблема: вона порожня. Тестувати пагінацію, пошук або фільтри на 2-х користувачах ("test1" і "test2") — це шлях до багів на проді.Вам потрібні Big Data. Вам потрібні імена з апострофами (O'Connor), довгі адреси і дивні емейли. Раніше ми писали скрипти на Python або шукали сервіси типу Mockaroo (які платні для великих об'ємів). Зараз AI пише SQL-скрипти для наповнення (Seeding) краще за будь-який генератор.Практичний кейс: Нам треба заповнити таблицю users 50-ма записами. Але не просто "User1, User2", а реалістичними даними з "капосними" випадками (Edge Cases).✨ Готовий промпт "Data Generator":Виступи в ролі QA Engineer & Database Expert.Мені потрібен SQL-скрипт (PostgreSQL) для наповнення таблиці `users`.Структура: `id`, `name`, `email`, `bio`, `created_at`.**Завдання:**Згенеруй 20 записів `INSERT INTO`, які покривають такі кейси:1. 10 звичайних користувачів (реальні імена).2. 5 користувачів з "проблемними" іменами (кирилиця, ієрогліфи, емодзі, апострофи як у "O'Neil").3. 2 користувачі з дуже довгим текстом у `bio` (boundary testing).4. 3 користувачі з SQL-injection payload в імені (наприклад, `Robert'); DROP TABLE users;--`).
✅ Результат від AI (копіюємо в DBeaver/pgAdmin):INSERT INTO users (name, email, bio, created_at) VALUES('John Doe', '[email protected]', 'Just a regular guy', NOW()),('Alice Smith', '[email protected]', 'Love coffee', NOW()),-- Edge Cases:('Renée O''Connor', '[email protected]', 'Name with accents and quotes', NOW()),('李小龙', '[email protected]', 'Chinese characters', NOW()),('User 🚀 With Emoji', '[email protected]', 'Testing UTF-8', NOW()),-- Security Test:('Robert''); DROP TABLE students;--', '[email protected]', 'Trying to break DB', NOW());
Чому це важливо?
1️⃣Економія часу: Ви отримали дані за 10 секунд.2️⃣Безпека: Ви одразу перевірите, чи екранує бекенд спецсимволи (якщо після вставки останнього юзера ваша таблиця зникне — вітаю, ви знайшли Critical Bug 😅).3️⃣Реалізм: Ви побачите, чи не ламається верстка від довгих імен.
Лайфхак: Попросіть AI згенерувати дані у форматі CSV, якщо ваш додаток підтримує імпорт файлів. "Згенеруй CSV з 100 товарами для інтернет-магазину".А чим ви генеруєте тестові дані? Руками чи скриптами? 👇