Fuente
QA Co-pilot | Вакцинація проекту: Навіщо ми створюємо "Синтетичні баги"Привіт, екіпа...
40 Vistas/Alcance
2026-01-24 09:40
Mensaje №172
💉 Вакцинація проекту: Навіщо ми створюємо "Синтетичні баги"
Привіт, екіпаж! Уявіть ситуацію: служба безпеки аеропорту перевіряє тисячі сумок. Нічого не знаходять. Чи означає це, що вони працюють ідеально? Або вони просто пропускають зброю? Щоб це перевірити, спеціальний агент намагається пронести муляж пістолета. У QA це називається Synthetic Bugs (або Fault Injection). Це коли ми навмисно ламаємо код, щоб перевірити, чи спрацює наша система захисту (автотести, моніторинг або уважність мануальника).Ось 3 рівні, як це зробити:🧪 Рівень 1. Перевірка Автотестів (Mutation Testing). Ми всі любимо зелені звіти. Але "зелений" тест може бути просто "сліпим". Як це працює: Ви використовуєте інструмент (наприклад, Stryker), який автоматично змінює код:
🔹
Було: if (price > 100)🔹
Стало: if (price >= 100)🔹
Було: return true🔹
Стало: return false. Якщо після цього ваші тести все ще зелені — вітаю, ваші тести — сміття. Вони не ловлять зміни логіки. Це холодний душ для автоматизаторів.
🕵️♂️ Рівень 2. Тренування Джунів (Bug Bash Game). Чудовий спосіб прокачати команду. Розробник спеціально робить 3 неочевидні помилки в білді для тестування (наприклад, у певному сценарії ціна рахується без ПДВ). Завдання QA: Знайти їх за годину.
🔹Якщо знайшли — QA отримують бонус (каву/піцу).
🔹Якщо не знайшли — розробник показує: "Дивіться, ось тут дірка". Це вчить шукати не тільки "поверхневі" баги, а копати глибше.
🔥 Рівень 3. Перевірка Моніторингу (Chaos Engineering). Це вже для сміливих (рівень Netflix). Ми спеціально "вбиваємо" один із мікросервісів на стейджингу (або навіть на проді!). Питання:
🔹
Чи впаде весь сайт, чи тільки одна плашка?🔹
Чи прийде SMS адміну через 1 хвилину? Якщо сервіс лежить, а моніторинг мовчить — значить, ви сліпі. Краще дізнатися про це під час навчань, ніж у Чорну П'ятницю.
Висновок: Не чекайте, поки баг прийде сам. Створюйте контрольовані проблеми, щоб переконатися, що ви здатні їх виявити. Краще спіймати "синтетичний" баг на стейджингу, ніж пропустити реальний на прод. А ви коли-небудь пробували "Mutation Testing"? Чи вірите своїм тестам на слово?
👇
Привіт, екіпаж! Уявіть ситуацію: служба безпеки аеропорту перевіряє тисячі сумок. Нічого не знаходять. Чи означає це, що вони працюють ідеально? Або вони просто пропускають зброю? Щоб це перевірити, спеціальний агент намагається пронести муляж пістолета. У QA це називається Synthetic Bugs (або Fault Injection). Це коли ми навмисно ламаємо код, щоб перевірити, чи спрацює наша система захисту (автотести, моніторинг або уважність мануальника).Ось 3 рівні, як це зробити:🧪 Рівень 1. Перевірка Автотестів (Mutation Testing). Ми всі любимо зелені звіти. Але "зелений" тест може бути просто "сліпим". Як це працює: Ви використовуєте інструмент (наприклад, Stryker), який автоматично змінює код:
🔹
Було: if (price > 100)🔹
Стало: if (price >= 100)🔹
Було: return true🔹
Стало: return false. Якщо після цього ваші тести все ще зелені — вітаю, ваші тести — сміття. Вони не ловлять зміни логіки. Це холодний душ для автоматизаторів.
🕵️♂️ Рівень 2. Тренування Джунів (Bug Bash Game). Чудовий спосіб прокачати команду. Розробник спеціально робить 3 неочевидні помилки в білді для тестування (наприклад, у певному сценарії ціна рахується без ПДВ). Завдання QA: Знайти їх за годину.
🔹Якщо знайшли — QA отримують бонус (каву/піцу).
🔹Якщо не знайшли — розробник показує: "Дивіться, ось тут дірка". Це вчить шукати не тільки "поверхневі" баги, а копати глибше.
🔥 Рівень 3. Перевірка Моніторингу (Chaos Engineering). Це вже для сміливих (рівень Netflix). Ми спеціально "вбиваємо" один із мікросервісів на стейджингу (або навіть на проді!). Питання:
🔹
Чи впаде весь сайт, чи тільки одна плашка?🔹
Чи прийде SMS адміну через 1 хвилину? Якщо сервіс лежить, а моніторинг мовчить — значить, ви сліпі. Краще дізнатися про це під час навчань, ніж у Чорну П'ятницю.
Висновок: Не чекайте, поки баг прийде сам. Створюйте контрольовані проблеми, щоб переконатися, що ви здатні їх виявити. Краще спіймати "синтетичний" баг на стейджингу, ніж пропустити реальний на прод. А ви коли-небудь пробували "Mutation Testing"? Чи вірите своїм тестам на слово?
👇