
Привіт друзі! Сьогодні хочу розповісти про досить розповсюджену категорію багів, про які завжди варто пам’ятати під час тестування.
Уявіть собі ситуацію – є продукт, вже розроблений і протестований, можливо, що ним навіть користуються. Нехай для прикладу це буде магазин ігор типу Steam. І тут замовник просить додати нову супер-дупер круту фічу, щоб користуватись застосунком стало ще приємніше. Наприклад – додати в профіль гравця дату народження, щоб на його день народження дарувати нову гру 🎁 та перевіряти, чи може гравець грати в дорослі ігри 🔞
Розробники додають нове обов’язкове поле в інтерфейсі, нове поле в базі, роблять перевірки віку для ігор та аж цілу джобу, що буде перевіряти дні народження 🎂 (а також, щоб подарунки дарувались не частіше ніж раз на рік 😁)
Далі тестери, в своєму тестовому середовищі, вказують вік умовно трьох тестових користувачів та вікові обмеження для десятка своїх тестових ігор. Все працює, демо показано, всі задоволені. Нову версію видають в прод… і користувачі починають жалітись – що магазин періодично падає з помилкою!
Ви бігом дивитесь логи – ваша джоба, що перевіряє дні народження, очікує, що вони завжди є! Поле ж обов’язкове, логічно. Але існуючі користувачі його не вказували ¯_(ツ)_/¯
✅ коли додається нове поле – завжди цікавтесь, а яке в нього буде значення по замовчанню (default), чи як користувачам дати знати, що дані треба оновити (наприклад – одноразовий попап). Одразу питайте – хто буде робити міграцію даних?
Виправили баг, а користувачі знов не задоволені – ігри не запускаються 🤬 І дійсно, ми ж очікували, що у всіх ігор вказано рейтинг, в тестовому середовищі ми проставили. Але в продуктовому – сотні тисяч ігор!
✅ якщо змінюються хоч якісь дані чи додаються функції, зав1язані на дані – завжди питайте – звідки ті дані мають взятись і яка поведінка системи, якщо цих даних нема. Вбережете себе від багатьох неприємних багів
Вірте в ЗСУ!
Все буде Україна! 🇺🇦