Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - QA Co-pilot
Додано 06 гру 2025 🌐 UK

QA Co-pilot

@qa_copilot
Кількість підписників: 92
Фото: 326
Відео: 1
Посилання: 49
Опис:
QA Co-pilot 🚀 Ваш другий пілот у світі тестування. 👨💻 Для кого: Для тестувальників-практиків, які хочуть рости. 🎯 Про що: Делегуємо рутину нейромережам, прискорюємо роботу та звільняємо час на головне. ❌ Чого тут немає: Нудної теорії та води.
Джерело

QA Co-pilot | Білий ящик" для QA: Тестуємо ETL та міграції, не читаючи кодПривіт, ек...

Логотип телеграм спільноти - QA Co-pilot QA Co-pilot @qa_copilot
40 Охват/переглядів 2025-12-25 09:48 Повідомлення №138
🐘 "Білий ящик" для QA: Тестуємо ETL та міграції, не читаючи код

Привіт, екіпаж! Під минулим постом про SQL підписник поділився крутим кейсом: використання AI для тестування Glue Jobs (скриптів міграції даних). Це наштовхнуло мене на важливу тему. Часто розробники пишуть складні ETL-скрипти (на Python або Scala), які переливають дані з однієї бази в іншу з якоюсь логікою. Наприклад: "Якщо юзер з України і чек > $1000, то перенеси його в таблицю VIP_Users і додай прапорець is_premium"Як це протестувати?
❌ Варіант "Хаос": Просто дивитися в таблицю і сподіватися, що все ок. ❌ Варіант "Хардкор": Вчити Python/PySpark, щоб зрозуміти код розробника.

✅ Варіант "Smart QA": Скопіювати шматок коду розробника в AI і попросити написати SQL-запит, який перевірить цю логіку.
Ми робимо Reverse Engineering: перетворюємо логіку коду на перевірочний запит.Практичний кейс: Розробник написав код міграції (Python):# Логіка в Glue Jobif user.country == 'UA' and user.total_spent > 1000: target_table.status = 'VIP' target_table.discount = 10else: target_table.status = 'Standard'
Вам треба перевірити, чи не "загубилися" дані і чи правильно присвоївся статус.✨ Готовий промпт "ETL Validator":

Виступи в ролі Data QA Engineer. Ось шматок коду (Python/Business Logic), який використовується для міграції даних:`if user.country == 'UA' and user.total_spent > 1000: target_table.status = 'VIP' ...`**Завдання:**Напиши мені **SQL-запит**, який знайде ПОМИЛКИ в міграції (тобто рядки, де логіка НЕ спрацювала). Мені треба знайти користувачів, які:1. Мають країну 'UA' і витрати > 1000.2. АЛЕ в новій таблиці `target_table` їх статус НЕ 'VIP' або знижка НЕ 10.
✅ Результат від AI:

SELECT * FROM source_users sJOIN target_table t ON s.id = t.user_idWHERE s.country = 'UA' AND s.total_spent > 1000 AND (t.status != 'VIP' OR t.discount != 10);
Чому це геніально? Цей запит має повернути 0 рядків. Якщо він щось повернув — значить, міграція пройшла криво. Ви знайшли баг, навіть не розбираючись, як працює Spark чи Glue під капотом.Дякую підписникам за ідеї в коментарях! Ви — драйвер цього каналу.

🚀


А вам доводиться тестувати переливання даних чи тільки UI?

👇