Source
QA Co-pilot | Зворотній інжиніринг": Як тестувати складні поля без болю (Regex + AI)...
41 Views/Reach
2025-12-22 08:46
Message №134
🧩 "Зворотній інжиніринг": Як тестувати складні поля без болю (Regex + AI)Привіт, екіпаж!Зізнавайтесь, хто любить Regular Expressions? Ніхто? Я так і думав. 😄 Для QA це часто чорна магія. Розробники використовують їх для валідації пошти, паролів, IBAN-ів та номерів телефонів.Ситуація: Розробник каже: "Я оновив правила для паролів. Тепер вони мають відповідати цьому виразу: ^(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9])(?=.*[a-z]).{8,}$".Що робить звичайний QA? Сидить і годину підбирає пароль, який пройде. Що робить Smart QA? Просить AI зробити Reverse Regex — тобто згенерувати тестові дані НА ОСНОВІ формули.Це економить купу часу на Positive/Negative тестуванні.Практичний кейс: Вам дали складний формат для поля "ID замовлення": ORD-[рік]-[4 літери]-[хеш]. Regex: ^ORD-\d{4}-[A-Z]{4}-[a-z0-9]{6}$.Вам треба 5 валідних прикладів і 5 невалідних для негативних тестів.✨ Готовий промпт "Regex Cracker":Виступи в ролі QA Engineer.Ось Regular Expression, який використовується для валідації поля:`^ORD-\d{4}-[A-Z]{4}-[a-z0-9]{6}$`**Завдання:**1. **Поясни**, що саме вимагає цей вираз (простою мовою).2. Згенеруй **5 валідних прикладів** (Positive Test Data), які пройдуть перевірку.3. Згенеруй **5 невалідних прикладів** (Negative Test Data) і поясни, чому саме кожен з них має впасти (наприклад, "неправильний рік", "малі літери замість великих", "закороткий хеш").
✅ Результат від AI:
Пояснення: Рядок має починатися з "ORD-", потім 4 цифри, дефіс, 4 великі літери, дефіс, 6 символів (цифри або малі літери).✅ Валідні (Pass): 1️⃣ORD-2024-TEST-abc123 2️⃣ORD-1999-ABCD-xy99zz ...❌ Невалідні (Fail): 1️⃣ORD-24-TEST-abc123 (Рік має 2 цифри замість 4) 2️⃣ord-2024-TEST-abc123 (Префікс з малої літери) 3️⃣ORD-2024-test-abc123 (Блок літер має бути UPPERCASE) ...
Бонус-хак: Це працює і у зворотний бік. Якщо вам треба знайти/відфільтрувати дані в логах (наприклад, всі помилки 500 або всі емейли), попросіть AI: "Напиши мені Regex для пошуку всіх IP-адрес у тексті" — і вставте результат у Ctrl+F (в режимі Regex) у своєму редакторі логів.Висновок: Regex — це не страшно, якщо ви не пишете його руками. Використовуйте AI як перекладач з "мови символів" на "людську" і назад.А як ви перевіряєте валідацію? Методом "тику" чи читаєте код? 👇